网站框架
一.MVC
M=Model(模型)控制数据库表结构的东西
V=View(视图)负责具体前段输出的内容,比如:颜色,文字,表单等
C=Controller(控制器)具体负责实现的功能,比如:加减乘除,增删改查
二.Router路由
指的是用户访问的地址,通过router映射到控制器的功能,或者渲染某个页面,做一个任务等等。
三.渲染模板(Template)
用户看到的内容对应VIEW。
四.Django入门命令
1.创建项目
diango-admin startproject mainproject(项目名字)
2. 创建APP
python manage.py startapp firstWEB(名称)
3.创建库表
python manage.py makemigrations
4.执行库表建立
python manage.py migrate
5.模板渲染嵌入语法
{%命令%} {{变量}}
五.搭建简单的web网站
(一)查看html页面
1.使用python manage.py startapp firstWEB(名称)创建
在setting.py钟把firstWEB也添加进去,避免找不到。
就会出现这些文件,需要创建一个templates目录用于放置html文件,以及需要创建一个urls.py作为子路由。
配置 Django 模板的查找路径。
2.给主路由添加一个路径
这里相当于添加了子路由的路径
3.修改子路由
在子路由/firstWEB/urls.py文件钟调用index,对页面进行渲染
4.修改views.py
这个目的是当用户访问与这个视图关联的 URL时,Django 会执行这个 index 函数,它会找到 index.html 模板文件,将其内容转换为网页,并将网页发送给用户。
5.在templates目录下新建html,并设置一些内容
6.执行python manage.py runserver点击链接进行页面展示
由于只会跳转到127.0.0.1:8000,需要自己在后面补充路由,示例:在后面加上/fiestWEB(自己创建的目录名称)
(二)使用get/post做一个登录功能
1.预期效果:编写一个具有输入用户名和密码的表单,若用户名和密码都输入了就显示登录成功,否则就失败。
2.步骤
(1)写一个登录页面的HTML
在templates目录下面创建一个html,这里是使用get,但是这样就会使得我们填写的信息暴露 ,一般采用post。但是使用post的话,需要在method="post"第二行加上{% csrf_token %}解决的是安全性的问题。
<form>
: 这是表单的开始标签,用来告诉浏览器“这里是一个用来收集用户输入的表单”。
action="/login/"
: 这个属性指定了表单数据要发送到哪里。当用户点击提交按钮后,浏览器会把收集到的数据发送到你服务器上 /login/
这个URL路径。
method="get"
: 这个属性定义了数据发送的方式。get
方法会把表单数据附加在URL的末尾。
这是页面效果展示
(2)修改views.py
这个示例希望如果接收到用户名和密码就显示“登录成功”如果只有其一或者都没有就显示“登录失败”,如果用post,就需要把GET改成POST
如果这里设定了具体的用户名和密码,例如:
则要输入固定的值都能登录成功。
(3)修改路由
urls.py 文件的作用是告诉 Django,当用户访问某个特定的网址时,应该调用哪个 Python 函数(也就是视图函数)来处理这个请求。这里是建立一个映射关系,将网址http://127.0.0.1:8000/firstWEB/login/(本示例的地址) 和 views.py 文件里的 Login_view函数绑定在一起。
(4)终端输入:python manage.py runserver
接着输入自己设定好的用户名和密码,就会显示