#坚持诚可贵!诸君共勉励!
1.模板语法的学习
本质:类似于占位符,在HTML中对占位符进行替换(渲染)
首先我们创建一个全新的界面
#url.py
path('tpl/',views.tpl)
#views.py
def tpl(request):
return render(request,'tpl.html')
PS:需要在创建的APP里加一个templates目录,在该目录下创建一个HTML文件
然后运行并且访问链接即可。
1.1调用后端数据
render()函数里边需要三个参数,其中第三个参数可以给视图函数传递数据,第三个参数必须是字典
字符串,列表,字典,都可以传递。
在HTML中通过{{...}}键名来调用数据。遍历可以选择用for循环,for循环要有始有终。字典,列表索引某个值要用'.'来索引。然后打开链接,验收成果。
我们也可以来写找键值,键是keys,值是values,同样用‘.‘不加括号。
1.2条件语句
类似于for循环,django中也是支持条件语句的,条件语句同样要有始有终。
1.3原理
PS:用户的浏览器中是看不到渲染前的内容的,不带任何的django语法
2.请求和响应
2.1请求
首先呢,我们生成一个用于联系请求和相应的界面。在url中创建,在views中写函数,创建HTML(素质三连)
url
views
html
请求类型:
POST和GET的区别可以理解为,GET是在明面上,在浏览器中输入,而POST是背地里。
2.2响应
响应类型:
重定向的过程:浏览器提交请求给Django,Django收到请求并直接返回给浏览器重定向的网址,浏览器重新去新的网址那里提交请求,然后新的网址给浏览器返回响应数据。
3.练习
做一个简单的登录练习!
1.创建一个简单的页面(login.html)并采用post请求,调用login函数
2.撰写login中的代码
PS:服务器一开始访问是GET,然后点击表单的提交后才会变成POST。
3.打开链接,输入账号密码,然后。。。迎接报错。
别方,这是Django自带的保护措施。只要在表单中加入这个
{% csrf_token %}
这个是检测请求是不是网页传来的,防止被伪造攻击。
4.添加校验,并完善代码。(N久以后)
#views.py
def login(request):
if request.method == 'GET':
return render(request,'login.html')
else:
#如果是POST请求,获取用户数据.
print(request.POST)
username = request.POST.get('user')
password = request.POST.get('pws')
if username == 'root' and password == '123':
#登录成功重定向一个页面
return redirect('https://www.bilibili.com/')
else:
return render(request,'login.html',{'merror':"用户名或密码错误"}
#login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post" action="/login/">
{% csrf_token %}
<input type="text" name="user" placeholder="用户名">
<input type="password" name="pws" placeholder="密码">
<input type="submit" value="提交"/>
<span style="color: red">{{ merror }}</span>
</form>
</body>
</html>
然后就可以定向核对账户,完成简略版的登录页面!
4.祝福
今天也是努力学习的一天!希望各位“缘主”也能在自己热爱的事业上坚持打拼!闯出自己的一片天地!祝各位“缘主”顺顺利利!