Django配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

* 开启项目:django-admin startproject pro

* 开启子应用:cd pro python manage.py startapp pro_app

* 业务分化,方便团队合作
* APP:承担不同功能,

* urls.:配置一个视图函数路由,

* pro/urls.py

* models.:使用orm语法创建模型类

* 对于模型类的操作就是在操作表
* 在settings->INSTALLL_APPS->pro_app,记得注册APP在配置中
* python manage.py makemigrations 查找数据库变更,寻找差异,生成迁移文件
* python manage.py migrate 根据迁移文件生成SQL

* admin.:能展示,管理当前APP所使用的数据表

* admin.py:admin.site.register(models.Studetn)
* verbose_name:设置字段的可读名称

* `__str__`(self) :设置当前一条数据的可读名称

* views.:主要编写视图代码

* 响应request
* 返回response
* HttpResponse() # 返回普通字符串
* render(request, 'index.html', locals()) # 渲染页面 并返回、
* redirect(to, permanent=False):重定向,搜索引擎,用户
* permanent:当该参数为False时,使用302,当该参数为True时,使用301
* 302:临时重定向
* 301:永久重定向
* a - > b
* show -> sh

* template:render模板页面

* 配置模板页面保存路径
* `settings->TEMPLATES->DIRS->[os.path.join(BASE_DIR,'template')]`
* 模板变量:{{ var }}
* 模板标签:{% for %}
* tempalte > jinja2

* `static:静态资源`
* STATICFILES_DIRS = ()
* 确定当前django项目



### Views

* 视图层
* 编写具体的逻辑代码

#### request

* request.method # 判断当前用户访问方式
* request.method == 'GET'
* request.method == 'POST'
* request.POST:获取POST形式提交的数据
* 获取表单多值时候,不能使用get函数
* 我们需要使用getlist
* 解析到的数据类型为:application/x-www-form-urlencoded,form-data
* request.GET:获取GET形式提交的数据
* get形式提交的数据
* request.META:访问的头部信息
* REMOTE_ADDR:获取访问者的IP地址

* request.FILES

### 学生管理系统

* centos:runserver 0.0.0.0:8000
* `systemctl stop firewalld`

* 记录学生信息
* 存储、建表:姓名,年龄,爱好,IP地址、头像
* request.META.get('REMOTE_ADDR')
* 逻辑功能
* 1:页面展示所有学生
* 2:提供表单页面,以供学生填写
* 视图函数处理表单接收到的数据
* 首先判断IP,是否已经出现在数据库中
* 如果出现过,不允许表单值存入数据库,重定向到展示页面
* 没有出现过,可以表单存入数据库,并且重定向到展示页面
* 列表页,详情页

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
目录
主站