首页
学习
活动
专区
圈层
工具
发布

6.寻光集后台管理系统-用户管理(注册视图)

django中视图本质上就是个函数,接受用户传入的请求,返回对应的响应。 在视图中处理业务逻辑。django约定将视图放在views.py的文件中。这个文件应放在项目或者应用目录中。...函数视图 基于函数的视图 def some_view(request): dosometing return HttpResponse(html) 特点: 逻辑清晰好理解 复用性较差 类视图...基于类的视图,换了一种写法,不能替代函数视图,有一些优势: 用特定的方法去管理http方法(get post) 使用面向对象的技术,可以将代码分解成可重用的组件 所以后续大部分会采用类视图的方式编写代码...class UserRegisterView(generics.CreateAPIView): serializer_class = UserRegisterSerializer 只需要两行就完成了注册类视图的编写...看一下CreateAPIView类具体干了什么,可以点击进行跳转 class CreateAPIView(mixins.CreateModelMixin, GenericAPIView

1.1K20

你知道一个空的类里面有什么吗?

虽然这篇文章的标题,看起来是有点找抽——既然一个类是空的,那不就是说里面啥也没有嘛?...比如这样: class empty { }; 上面定义了一个真的很空的空类,一对大括号里面除了空气之外,真的什么都没有!...但,凡事皆有例外,以上那些不请自来的函数们,是不是任何时候都会出现呢?可不一定。...因为引用一旦指定了关联的目标就再也不能修改。那么, x1 = x2 会让 x1.name指向的s1的值变为"bb"吗?...这么一来,那其他跟x1无关的但使用了字符串s1的对象岂不是要平白无故地遭受牵连? 以上分析,针对类的非静态const型成员age而言,是一模一样的,因为age也不应该通过类对象的赋值操作而发生改变。

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

    django 1.8 官方文档翻译: 3-4-1 基于类的视图

    基于类的视图 视图是一个可调用对象,它接收一个请求然后返回一个响应。这个可调用对象可以不只是函数,Django 提供一些可以用作视图的类。它们允许你结构化你的视图并且利用继承和混合重用代码。...基于类的视图简介 内建的基于类的通用视图 使用基于类的视图处理表单 使用混合来扩展视图类 基本的示例 Django 提供基本的视图类,它们适用于广泛的应用。...如果你只是修改基于类的视图的一些简单属性,你可以将它们直接传递给as_view()方法调用: from django.conf.urls import url from django.views.generic...TemplateView是一个类不是一个函数,所以我们将URL 指向类的as_view()方法,它让基于类的视图提供一个类似函数的入口: # urls.py from django.conf.urls...但如果客户端发出一个HEAD请求,响应将具有一个空的响应体而Last-Modified头部会指示最新发布的书籍的时间。基于这个信息,客户端可以下载或不下载完整的对象列表。

    1.3K30

    Django REST Framework-什么是视图(一)

    DRF视图可以是函数视图或基于类的视图。函数视图类似于Django中的函数视图,它接收一个request对象并返回一个响应。...基于类的视图是DRF中的主要视图类型,它继承自DRF提供的基类,并提供了一些常见的功能,例如身份验证,权限控制和序列化器的使用。...以下是一个简单的基于类的视图示例:from rest_framework import genericsfrom .serializers import BookSerializerfrom .models...BookSerializer def perform_create(self, serializer): serializer.save()在上面的代码中,我们定义了一个名为BookList的基于类的视图...CreateAPIView:提供一个创建视图,用于创建新的对象。UpdateAPIView:提供一个更新视图,用于更新现有对象。DestroyAPIView:提供一个删除视图,用于删除一个对象。

    62331

    【Django】Django ORM 学习笔记

    优缺点 使用 ORM 最大的优点就是快速开发,让我们将更多的精力放在业务上而不是数据库上,下面是 ORM 的几个优点 隐藏了数据访问细节,使通用数据库交互变得简单易行。...对象和关系之间并不是完美映射 一般来说 ORM 足以满足我们的需求,如果对性能要求特别高或者查询十分复杂,可以考虑使用原生 SQL 和 ORM 共用的方式 Django ORM 在 Django 框架中集成了...ORM 模块,我们来看下具体的使用,部分内容会给出基于 MySQL 的 SQL 语句。...Manager 的查询方法和 QuerySet 的方法大部分同名、同意(Manager的就是基于 QuerySet 的实现的),例如 filter, exclude等,但两者也有不同的方法,例如 Manager...QuerySet 中,缓存为空。

    2.8K20

    Django中的latest使用

    最直观的做法就是 latest_post=Post.objects.filter(status=1).order_by('-id')[:1][0] 这么做是不是有点怪呢,尤其是最后的一个切片和一个取list...有没有更优雅的方案呢? latest来了 名如其意,就是取最近的/最新的一个对象,注意是一个对象,而不是一个只包含一个元素的list。怎么用呢?...sql层面一样吗 既然一个问题有了两种解决方案,那么这俩除了在语义上的区别还有什么区别,效率如何呢。先来看看他们生成的sql语句是怎样的。怎么查看呢?...用order_by执行的语句是 .. code: SELECT `blog_post`.`id`, `blog_post`.`author_id`, `blog_post`....Note Django从1.6起有了last()这个方法,可以依据主键直接取出最新的那个id。

    2.4K10

    Django学习-第七讲:django 中的常用字段、字段属性,外键和表关系、外键操作

    在django中是有时区的概念的,使用时要考虑到时区的问题,默认使用的是 UTC时区,分为 navie(没时区) 和 aware(有时区),如果项目不是国际的,可以我们将时区关闭,使用本地的时间。...因为Django在处理字符串相关的Field的时候,即使这个Field的null=False,如果你没有给这个Field传递任何值,那么Django也会使用一个空的字符串""来作为默认值存储进去。...因此如果再使用null=True,Django会产生两种空值的情形(NULL或者空字符串)。如果想要在表单验证的时候允许这个字符串为空,那么建议使用blank=True。...我们可以在模型中定义一个类,叫做Meta。然后在这个类中添加一些类属性来控制模型的作用。比如我们想要在数据库映射的时候使用自己指定的表名,而不是使用模型的名称。...因此在底层,Django为Article表添加了一个属性名_id的字段(比如author的字段名称是author_id),这个字段是一个外键,记录着对应的作者的主键。

    6.1K30

    DRF 视图组件

    目录 DRF 视图组件 视图组件大纲 两个视图基本类 五个扩展类 九个子类视图 视图集 常用视图集父类 魔法类 一览表 DRF中视图的“七十二变” 第一层:基于APIview的五个接口 第一层五个接口demo...第二层:基于GenericAPIView的五个接口 常用类属性: 第二层五个接口demo 第三层:基于GenericAPIView+五个视图扩展类写 第三层五个接口demo GenericAPIView...通用视图类 五个扩展类 扩展类不是视图类,没有集成APIView,需要配合GenericAPIView使用,因为五个扩展类的实现需要调用GenericAPIView提供的序列化器与数据库查询的方法...魔法类 ViewSetMixin:控制自动生成路由 一览表 DRF中视图的“七十二变” 第一层是继承APIView写,第二层基于基于GenericAPIView写,第三层基于GenericAPIView...,一个接口对应一个扩展类,注意扩展类不是视图类 ListModelMixin:获取所有API,对应list()方法 CreateModelMixin:新增一条API,对应create()方法 UpdateModelMixin

    1.4K10

    django 1.8 官方文档翻译: 3-4-3 使用基于类的视图处理表单

    使用基于类的视图处理表单 表单的处理通常有3 个步骤: 初始的的GET (空白或预填充的表单) 带有非法数据的POST(通常重新显示表单和错误信息) 带有合法数据的POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复的样本代码...为了避免这点,Django 提供一系列的通用的基于类的视图用于表单的处理。...这些通用的视图将自动创建一个ModelForm,只要它们能知道使用哪一个模型类: 如果给出model属性,则使用该模型类。 如果get_object() 返回一个对象,则使用该对象的类。...首先我们需要添加get_absolute_url() 到我们的Author 类中: #models.py from django.core.urlresolvers import reverse from...注意这里我们是如何配置通用的基于类的视图的;我们自己没有写任何逻辑: #views.py from django.views.generic.edit import CreateView, UpdateView

    3.1K20

    Python 使用SQLAlchemy数据库模块

    ORM 的目标是在编程语言中使用类似于面向对象编程的语法,而不是使用传统的 SQL 查询语言,来操作数据库。...主要思想是将数据库表的结构映射到程序中的对象,通过对对象的操作来实现对数据库的操作,而不是直接编写 SQL 查询。ORM 工具负责将数据库记录转换为程序中的对象,反之亦然。...查询语言: ORM 通常提供一种查询语言,允许开发者使用面向对象的方式编写查询,而不是直接使用 SQL。...User映射类,映射到UserDB库上,分别增加几个常用的数据库字段,并插入一些测试数据。...用户在使用ORM模型定义类时,可以同时在该映射类中定义各种针对类模型的处理函数,实现对数据的动态处理 from werkzeug.security import generate_password_hash

    1.2K10

    django-rest-framework框架学习

    在django中很著名的一个框架是django-rest-framework,帮我们减少了很多工作量,尤其在序列化与反序列化成我们需要的格式帮了我们省了很多事 在这里就记录一下个人的学习过程 django-rest-framework...实现一组api的基本流程 在models.py中创建自己需要的数据模型 创建serializers.py在其中写出适合的serializer类,能够正确的序列化与反序列化 在views.py中写出合适的...api类,只需要继承rest_framework中generics中的某个类,重写我们需要的方法实现合适的逻辑即可 在urls.py中配置所需要的url 一组api的demo 创建一个model 在创建好的...官方文档:http://www.django-rest-framework.org/api-guide/serializers/ 创建serializers.py在其中实现序列化类 由于这个序列化是和我们的模型想对应的相关...,都有详细的介绍 这里我们只简单的显示所有的字段 实现视图api类 官方文档: http://www.django-rest-framework.org/api-guide/generic-views/

    1.9K10
    领券