更新了Django部分的文档

pull/75/head
jackfrued 2019-05-10 00:29:11 +08:00
parent bd39f9981f
commit 0d2f07087d
4 changed files with 6 additions and 3 deletions

View File

@ -122,7 +122,7 @@ def show_subjects(request):
<style>/* 此处略去了层叠样式表的选择器 */</style>
</head>
<body>
<h1>所有学科</h1>
<h1>千锋互联所有学科信息</h1>
<hr>
<div id="container">
{% for subject in subjects %}
@ -167,7 +167,7 @@ def show_teachers(request):
<style>/* 此处略去了层叠样式表的选择器 */</style>
</head>
<body>
<h1>{{ subject.name }}老师信息</h1>
<h1>{{ subject.name }}学科老师信息</h1>
<hr>
{% if teachers %}
<div id="container">

View File

@ -62,7 +62,9 @@ python manage.py migrate
</html>
```
注意,在上面的表单中,我们使用了模板指令`{% csrf_token %}`它的作用是在表单中生成一个随机令牌token来防范[跨站请求伪造](<https://zh.wikipedia.org/wiki/%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82%E4%BC%AA%E9%80%A0>)通常简称为CSRF这也是Django在提交表单时的硬性要求除非我们专门设置了免除CSRF令牌。
注意,在上面的表单中,我们使用了模板指令`{% csrf_token %}`为表单添加一个隐藏域type属性值为hidden的input标签它的作用是在表单中生成一个随机令牌token来防范[跨站请求伪造](<https://zh.wikipedia.org/wiki/%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82%E4%BC%AA%E9%80%A0>)通常简称为CSRF这也是Django在提交表单时的硬性要求除非我们专门设置了免除CSRF令牌。下图是一个关于CSRF简单生动的例子它来自于[维基百科](<https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5>)。
![](./res/CSRF.png)
用户在提交注册表单时我们还需要对用户的输入进行验证例如我们的网站要求用户名必须由字母、数字、下划线构成且长度在4-20个字符之间密码的长度为8-20个字符确认密码必须跟密码保持一致。这些验证操作首先可以通过浏览器中的JavaScript代码来完成但是即便如此在服务器端仍然要对用户输入再次进行验证来避免将无效的数据库交给数据库因为用户可能会禁用浏览器的JavaScript功能也有可能绕过浏览器的输入检查将注册数据提交给服务器所以服务器端的用户输入检查仍然是必要的。

View File

@ -1,3 +1,4 @@
## Cookie和Session
如今,一个网站如果不通过某种方式记住你是谁以及你之前在网站的活动情况,失去的就是网站的可用性和便利性,继而很有可能导致网站用户的流式,所以记住一个用户(更专业的说法叫**用户跟踪**对绝大多数Web应用来说都是必需的功能。

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB