首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django源码学习-8-ListView&DetailView通用视图

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。...Django的通用视图可以减少开发的单调性,它抽象出一些在视图开发中常用的代码和模式,这样就可以在无需编写大量代码的情况下,快速编写出常用的视图函数。 ?...MonthArchiveView, TodayArchiveView, WeekArchiveView, YearArchiveView, ) from django.views.generic.detail...', 'ArchiveIndexView', 'YearArchiveView', 'MonthArchiveView', 'WeekArchiveView', 'DayArchiveView'...(self): # get_object() 默认时返回通过 pk 或 slug 筛选出的对象(该视图需要操作的对象) # Call the superclass

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    django 1.8 官方文档翻译: 3-4-5 内建基于类的视图的API

    DeleteView 通用的日期视图 ArchiveIndexView YearArchiveView MonthArchiveView WeekArchiveView DayArchiveView...参数必须对应于在类中已经存在的属性(hasattr 检查可以返回True)。 基础视图 VS. 通用视图 基于类的基础视图可以认为是父视图,它们可以直接使用或者继承它们。...它们不能满足项目中所有的需求,在这种情况下有Mixin 可以扩展基础视图的功能。 Django 的通用视图建立在基础视图之上,用于作为经常用到的功能的快捷方式,例如显示对象的详细信息。...大部分通常视图需要queryset 键 ,它是一个查询集 实例;关于查询集对象的更多信息,请参见执行查询。 译者:Django 文档协作翻译小组,原文:API reference。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    85620

    django自带的contentType表

    contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中。     ...models.py文件的表结构写好后,通过makemigrations和migrate两条命令迁移数据后,在数据库中会自动生成一个django_content_type表,比如我们有在models.py...# 每增加一张表,关系表的结构就要多加一个字段。...但是这样做是有问题的:实际中商品品类繁多,而且很可能还会持续增加,那么优惠券表中的外键将越来越多,但是每条记录仅使用其中的一个或某几个外键字段。   ...,我们通过这一步先找到关联表 object_id = models.PositiveIntegerField() # step 2 #存的是关联的那个表的对应的那条记录的id content_object

    1.3K20

    Django的用户表创建(四)

    正常的情况我们如果操作数据库需要: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 Django采用ORM的形式完成数据库的操作...:(在django中,根据代码中的类自动生成数据库的表也叫--code first) ORM:Object Relational Mapping(关系对象映射) 类名对应------》数据库中的表名 类属性对应...直接查看Django为admin编写的用户类 from django.contrib.auth.models import AbstractUser按住ctrl+AbstractUser跳进去。...abstract = True 所以我们的用户表的model文件就是: from django.db import models from utils.models import...数据库展示 以上就完成了用户表的创建,不过里面的一些约束条件什么的感觉还是有点问题,但是应该不影响正常的使用(无法应对破坏性的测试)。

    2.2K60

    django--ORM的单表操作

    Django--ORM单表操作 创建一个新的django项目 ? 项目目录结构: ?...OK 执行完后,可以用pycharm自带的mysql连接工具测试 ? ? 表已经成功创建 ?...> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,                             如果符合筛选条件的对象超过一个或者没有都会抛出错误...如果QuerySet包含数据,就返回True,否则返回False    values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列...,values返回的是一个字典序列    distinct():            从返回结果中剔除重复纪录 基于双下划线的模糊查询 Book.objects.filter(price__in

    1K30

    django操作非ORM创建的表

    django--ORM连接已存在的表 问题: django的ORM怎么连接已存在的表,然后进行增删查改操作?...工作中会遇见很多二次开发的时候,表都是已经创建好的,用django的ORM进行二次开发,怎么操作数据库中的表呢?...会报错找不到app_tencent_depth这个表,而我的表名为tencent_depth django的ORM连接表的时候,会自动在前面加上应用名(app_),就是创建应用时起的名字 第二次尝试:...虽然可以用django的ORM连接表了,但是却改了表名  (线上环境中,表和表之间肯定有很多关联的), 不能这么做 完美解决方案: 既然不能改tencent_depth表的名字,那么让django的orm...添加字段,添加记录,获取数据都没有问题,完美解决django的ORM操作已存在表的问题

    1.7K20

    mysql 提示表不存在的解决方法error: 1146: Table doesn‘t exist

    大家好,又见面了,我是你们的朋友全栈君。...直接拷贝数据库导致提示表不存在的解决方法 电脑重装系统后把原来的mysql data复制进去后大部分表是可以访问的,但是有几个表提示表不存在: error: 1146: Table 'your_table...ibdata用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已,由于新版的mysql默认试innodb,所以ibdata1文件默认就存在了,少了这个文件有的数据表就会出错。...这时候先检查一下你的ibdata文件所属的用户和用户组是否正确,有可能是权限问题导致。...如果是数据表损坏请尝试修复表 repair table tablename 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130230.html原文链接:https

    4.3K40

    类视图 vs. 函数视图

    如上面代码所示, 当我们把视图绑定到 url conf 时使用的 as_view 挂载其实返回的是一个函数....这样就太像基于函数的视图了, 当然view_function其实就是函数. as_view 方法是基于类的外部接口, 他返回一个视图函数....基于类的通用视图(GV) Django 引入了基于类的通用视图, 来处理 web 常见的用例需求, 比如创建新对象,表单处理,列表视图,分页,归档视图等....通用编辑视图 FormView CreateView UpdateView DeleteView 基于日期的视图 ArchiveIndexView YearArchiveView MonthArchiveView...Django 官方的建议是: 如果你难以将自己的视图实现为通用视图(重点是generic views)的子类, 那么你直接使用基于 View 的视图或功能视图, 只编写你所需的代码更更加有效.

    2.5K10
    领券