Django学习
Django学习
Jianhao92
这个作者很懒,什么都没留下…
展开
-
BBS项目1 (基于Django框架) 项目开发流程 表设计
Django BBS项目1 项目开发流程1.1 需求分析人员:架构师 + 产品经理 + 开发组组长工作:与客户谈需求目标:形成一个初步的方案。为了避免客户提出难以实现的需求,一般谈需求前会大致了解客户的需求并准备一套易于实现的方案,在与客户沟通交流过程中逐渐引导客户向设计好的方案上靠。1.2 项目设计人员:架构师 + 产品经理 + 开发组组长工作:架构师选择编程语言、框架、数据库(主数据库、缓存数据库)等。架构师功能划分将整个项目划分成几个功能模块,找开发组组长开会讨论,为每个组分原创 2020-06-10 00:04:31 · 263 阅读 · 0 评论 -
13 Django auth模块
Django1 auth模块1.1 介绍当执行数据库迁移命令后会自动创建auth_user表,用于存储用户信息。访问admin路由后需要输入用户名和密码,用户登录数据参考的是auth_user表。1.2 创建管理员用户(超级用户)python manage.py createsuperuser创建后auth_user表中会新增一条管理员用户数据,密码使用SHA256进行加密。登录管理员账户http://127.0.0.1:8000/admin/login/?next=/admin/1原创 2020-06-09 21:43:16 · 210 阅读 · 0 评论 -
12 Django 中间件 跨站请求伪造csrf importlib模块 基于中间件的编程思想
Django1 中间件介绍1.1 中间件是Django的门户请求来的时候,需要先经过中间件处理才能到达后端。相应走的时候,需要先经过中间件处理才能发送出去。Django支持自定义中间件,提供了暴露给程序员5个可以自定义的方法。Django内部有7个内置的中间件。settings.pyMIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middlew原创 2020-06-08 23:47:28 · 207 阅读 · 0 评论 -
11 Django cookie与session CBV中添加装饰器
Django1 cookie与session介绍网站如果不能保存用户的登陆状态,用户每次访问网页都需要重新登录,这样的网站用户体验极差。发展1当用户第一次登陆成功后,网站将用户名和密码返回给浏览器,将用户名和密码保存在本地。之后再次登陆时,浏览器自动将保存在本地的用户名和密码发送给网站,实现自动登录。这样做不安全,用户可以在本地直接获取用户名和密码。发展2 cookie与session当用户第一次登陆成功后,服务端产生一个随机字符串,服务端用k:v键值对的形式保存数据session随机字符串原创 2020-06-07 21:16:41 · 154 阅读 · 0 评论 -
10 Diango form组件
Django1 案例 校验功能需求:注册功能,前端获取用户名和密码,利用form表单向后端提交数据,在后端对用户名和密码进行检查。用户名不能含有指定字符:无名字;密码不能少于三位。如果不符合条件需要将前端信息展示到前端页面上。不能使用Ajax。urls.pyfrom django.conf.urls import urlfrom django.contrib import adminfrom app01 import viewsurlpatterns = [ url(r'^a原创 2020-06-06 21:47:57 · 101 阅读 · 0 评论 -
9 Django 传输数据的编码格式 Ajax发送json数据/文件 sweetalert二次确认 序列化组件 批量操作 分页器
Django1 前后端传输数据的编码格式(contentType)1.1 get请求与post请求get请求get请求直接将请求数据放到url中。http://127.0.0.1:8080/test?arg1=val1&arg2=val2...post请求可以向后端发送post请求的方式。form表单ajax1.2 前后端传输数据的编码格式编码格式总共有三种:urlencodedformdatajson1.2.1 form表单form表单默认的编码格式是u原创 2020-06-04 23:34:03 · 309 阅读 · 0 评论 -
8 Django choices参数 MTV与MVC 创建多对多关系 Ajax介绍
Django1 choices参数对于可以将所有的可能值列举完全的字段,一般使用choices参数存储。例如,性别:男、女、其它。models.pyclass User(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() # 创建对应关系 gender_choices = ( (1, '男'), (2, '女'),原创 2020-06-03 00:08:48 · 124 阅读 · 0 评论 -
7 Django 聚合查询 分组查询 F与Q查询 事务 ORM字段 查询优化的方法
Django1 聚合查询关键字 aggregatefrom django.db.models import Max, Min, Sum, Count, Avgfrom app01 import modelsres = models.Book.objects.aggregate(Max('price'), Min('price'), Sum('price'), Count('pk'), Avg('price'))2 分组查询关键字 annotate默认按照主键字段分组from djang原创 2020-06-01 23:05:24 · 233 阅读 · 0 评论 -
6 Django 模型层 ORM语法
Django1 测试脚本如果只需要测试django中的某个py文件,可以使用测试脚本。首先需要准备测试环境将manage.py中的前4行拷贝到test.py中。test.pyimport osif __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DemoSite04.settings") import django django.setup() # 测试单原创 2020-05-31 23:43:38 · 620 阅读 · 0 评论 -
5 Django CBV源码 模板层 过滤器 模板继承
Django1 CBV源码剖析路由层 urls.pyfrom app01 import viewsurlpatterns = [ url(r'^admin/', admin.site.urls), # CBV源码突破口 url(r'^login/', views.MyClass.as_view())]视图层 views.pyfrom django.views import Viewclass MyClass(View): def get(sel原创 2020-05-30 21:21:38 · 142 阅读 · 0 评论 -
4 Django 路由分发 名称空间 伪静态 虚拟环境 版本区别 视图层
Django1 路由分发2 名称空间3 伪静态4 虚拟环境5 django 1.X 与 2.X 的区别6 视图层6.1 视图层的三板斧6.2 JsonResponse6.3 form表单上传文件6.4 FBV 与 CBV原创 2020-05-28 21:45:19 · 196 阅读 · 0 评论 -
3 Django 创建表关系 请求生命周期流程图 路由层 无名/有名分组 反向解析
Django1 创建表关系2 Django请求声明周期流程图3 路由层原创 2020-05-26 23:06:15 · 174 阅读 · 0 评论 -
2 Django 静态文件配置 request对象方法 连接数据库 ORM
Django1 静态文件配置1.1 静态文件静态文件:前端能够直接调用的文件,包括:js文件,css文件,图片资源,第三方前端框架等。html文件默认放在templates文件夹下,将网站所使用的静态文件默认都放在static文件夹下。static文件夹内部会进一步划分,包括:static文件夹,js文件夹,css文件夹,img文件夹,其他第三方文件等。...原创 2020-05-25 22:22:37 · 860 阅读 · 0 评论 -
1 Django介绍 自定义web框架 主流web框架介绍
Django介绍1 自己构建web框架1.1 基本web框架import socketserver = socket.socket() # TCP协议server.bind(('127.0.0.1', 8080))server.listen(5)while True: conn, addr = server.accept() data = conn.recv(1024) print(data) conn.send(b'HTTP/1.1 200 OK\r\n原创 2020-05-24 22:24:45 · 192 阅读 · 0 评论