![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2.Web框架-django
文章平均质量分 84
Web框架-django
小Pawn爷
Python菜鸟
展开
-
15.Django总结
REST:表现层状态转换(Representational State Transfer)是一种设计风格使用场景:模板中的超链接,视图中的重定向在定义url时为include定义namespace属性,为url定义name属性注意:反向解析传参数,主要是在我们的反向解析的规则后面添加了两个参数,两个参数之间使用空格隔开< a href = " {% url 'booktest:fan2' 2 3 %} " > 位置参数原创 2024-03-05 21:58:43 · 1158 阅读 · 0 评论 -
Django框架FAQ
日期型(DateField,TimeField,DateTimeField)和数字型(IntegerField,DecimalField,FloatField)不能接受空字符串,如要想要在填写表单的时候这两种类型的字段为空的话,则需要同时设置null=True,blank=True。众所周知我们创建后台管理员时候是没有设置手机号的.报这个错就是告诉我们在数据库中已经存在一个管理员,且手机号为空,我们再次创建管理员就会有手机号重复的现象存在从而报这个错. username重复时同样出现以下问题。原创 2023-11-11 22:41:31 · 589 阅读 · 0 评论 -
1.Django流程
1.Django流程1.MVC 与 MTV 模型MVCWeb 服务器开发领域里著名的 MVC 模式,所谓 MVC 就是把 Web 应用分为模型 (M),控制器© 和视图 (V) 三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:MTVDjango 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Djang原创 2021-01-27 08:31:46 · 398 阅读 · 0 评论 -
2.url控制器
2.url控制器2.1 re_path1.普通分组from django.urls import path,re_pathfrom app01 import viewsurlpatterns = [ path('admin/', admin.site.urls), path("", views.index), # re_path:简单的路由配置 re_path("^my_url_controller/([0-9]{4})/([0-9]{2})/([0-9]+)", view原创 2021-01-28 08:52:10 · 180 阅读 · 0 评论 -
3.视图函数
视图函数1:HttpRequest 对象1.1 request 属性django 将请求报文中的请求行、首部信息、内容主体封装成 HttpRequest 类中的属性。 除了特殊说明的之外,其他均为只读的。1.HttpRequest.GET 一个类似于字典的对象,包含 HTTP GET 的所有参数。详情请参考 QueryDict 对象。2.HttpRequest.POST 一个类似于字典的对象,如果请求中包含表单数据,则将这些数据封装成 QueryDict 对象。POST 请求可以带有原创 2021-01-30 17:58:53 · 276 阅读 · 0 评论 -
4.模板引擎
1 变量在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{var_name}}views.py:# 列表l=[111,222,333]# 字典dic={"name":"yuan","age":18}# 自定义类对象class Person(object): def __init__(self,name): self.name=nameperson_yuan=Person("yuan") person_egon=原创 2021-02-03 08:36:19 · 126 阅读 · 3 评论 -
5.Model层
1.ORM 简介MVC 或者 MVC 框架中包括一个重要的部分,就是 ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动ORM 是 “对象 - 关系 - 映射” 的简称。2.创建数据模型1.创建名为 book 的 app,在 book 下的 models.py 中创建模型:from django.db import models# Create yo原创 2021-02-14 21:47:53 · 281 阅读 · 0 评论 -
6.Model层:多表操作
多表操作1.创建模型**实例:**我们来假定下面这些概念,字段和关系作者模型: 一个作者有姓名和年龄。作者详细模型: 把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)出版商模型: 出版商有名称,所在城市以及 email。**书籍模型:**书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系 (many-to-many), 一本书只应该由一个出版商出版,所以出版商和书原创 2021-02-25 07:59:02 · 228 阅读 · 0 评论 -
7.Ajax
1.Ajax 简介1.定义AJAX(Asynchronous Javascript And XML)翻译成中文就是 “异步 Javascript 和 XML”。即使用 Javascript 语言与服务器进行异步交互,传输的数据为 XML(当然,传输的数据不只是 XML,现在更多使用 json 数据)。同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。AJAX 除了异步的特点外,还有一个就是原创 2021-03-07 09:52:46 · 109 阅读 · 0 评论 -
8.分页器
分页器1.视图函数def paginator(request): a = Books.objects.all().order_by("pk") paginator1 = Paginator(a, 3) print("数据总数:", paginator1.count) print("总页数:", paginator1.num_pages) print("页码列表:", paginator1.page_range) page1 = paginator1.pag原创 2021-03-08 22:14:20 · 73 阅读 · 0 评论 -
9.forms 组件
1.校验字段功能针对一个实例:注册用户讲解。模型:models.pyclass UserInfo(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) email=models.EmailField() tel=models.CharField(max_length=32)模板: register.html:<!DOCTYPE html&原创 2021-03-09 08:11:29 · 122 阅读 · 1 评论 -
10.Cookie和Session
1.状态保持1 状态保持我们需要先了解一下什么是会话,可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给 10086 打个电话,你就是客户端,而 10086 服务人员就是服务器了.从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束.在通话过程中,你会向 10086 发出多个请求,那么这多个请求都在一个会话中.在 JavaWeb 中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。在一个会话的多个请求中共享数据,原创 2021-03-17 08:37:06 · 104 阅读 · 0 评论 -
11.用户认证系统
Django的认证系统0.前提:用session记录登录认证状态用Django自带的auth_user表创建超级用户python manage.py createsuperuser --username=joe --email=joe@example.com1.Auth对象:from django.contrib import auth函数名含义authenticate()提供了用户认证,即验证用户名以及密码是否正确, 一般需要 username&nb原创 2021-03-19 22:29:20 · 317 阅读 · 0 评论 -
12.中间件
中间件1.定义中间件顾名思义,是介于 request 与 response 处理之间的一道处理过程,相对比较轻量级,并且在全局上改变 django 的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。Django 默认的Middleware:MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddlew原创 2021-03-20 16:25:39 · 106 阅读 · 0 评论 -
13.ContentType组件
问题如何在一张表上对多个表进行外键关联from django.db import models class Appliance(models.Model): """ 家用电器表 id name 1 冰箱 2 电视 3 洗衣机 """ name = models.CharField(max_length=64) class Food(models.Model): """ 食物表 id n原创 2021-12-05 22:01:26 · 413 阅读 · 0 评论 -
14.Web框架
CSRF(Cross-site request forgery)攻击,中文名是跨站请求伪造比如现在有两个网站,A网站是真实受信任的网站,而B网站是危险网站。当你登陆A网站后,浏览器会将A网站服务器给你生成的 sessionid 存入 cookie,有了这个 cookie,就拥有了你的帐号权限,以后请求访问,就不用再次登陆在cookie的过期时间之内,你去访问了恶意网站B,它给你返回一些恶意请求代码.要求你去访问网站A,这样你的浏览器就会在不知情的情况下去访问可信网站A。原创 2023-10-29 15:33:09 · 263 阅读 · 0 评论