Django-5-templates模板显示html页面
前言
一般我们打开浏览器访问,看到的不会是一连串字符串,而是一个个网页,也就是所谓的视图
一般我们的视图(html文件)是放在templates目录下的
本篇基于上一篇新建的django项目继续操作
在django_study.templates目录下新建register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
<form name="formname" method="post" action="">
用户:<input type="text" name="username" placeholder="请输入用户名"><br>
密码:<input type="password" name="pwd" placeholder="请输入密码"><br>
提交:<input type="submit" name="提交"><br>
</form>
</body>
</html>
django_study.app01.views.py:新建一个register视图函数
def register(request):
return render(request, "register.html")
django_study.django_study.urls:绑定url与视图函数
from django.contrib import admin
from django.urls import path
from django.conf.urls import url # 导入url模块
from app01.views import * # 导入视图函数
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^print_hello/$', print_hello), # 前面是匹配的url规则,后面是执行的视图函数
url(r'^register/$', register, name="register")
]
启动状态访问:127.0.0.1:8000/register
补充:
输入用户和密码点击提交报错
原因:当页面向Django服务器发送一个post请求时,服务器端要求客户端加上csrfmiddlewaretoken字段,所以需要特殊处理一下
解决方式一:
在settings.py注释如下内容,继续提交不会报错
解决方式二:
在register.html中加上{%csrf_token%}标签,继续提交不会报错