2021版本的pycharm有bug,需要将settings.py中
把BASE_DIR后面的/换成,
url:统一资源定位符
互联网上每个文件都有一个唯一的url,它包含的信息指出文件的位置以及浏览器应该怎么处理它
语法:
protocol://hostname[:port]/path[?query][#fragment]
protocol:协议
hostname:主机
port:端口号
path:路由地址,由零个或多个”/”隔开的字符串,一般用来表示主机上的一个目录或者文件地址
query:查询,可选,用于给动态网页传递参数,可以有多个参数,用”&”隔开,每个参数的名和值用”=”符号隔开
fragment:信息片段,字符串.例如:一个网页中有多个名词解释可使用fragment直接定位到某一个名词的解释
注意:[]表示其中内容可以省略,比如80端口
django如何处理一个url对应的请求
http://127.0.0.1:8000/page/2023
1.django从配置文件中根据root_urlconf找到主路由文件(url.py)(默认情况下该文件在项目同名目录下的urls)
2.django加载主路由文件中的urlpatterns变量
3.依次匹配urlpatterns中的url,匹配到第一个合适的中断后续的匹配
4.匹配成功–>调用对应的视图函数处理请求,返回响应
5.匹配失败–>返回404响应
三个视图函数的返回方法
HttpResponse():返回字符串类型的数据
render():返回html文件
redirect():重定向
静态文件配置
默认将html文件放在templates文件夹下
静态文件:前端已经写好了的,能够直接调用的问价(js,css,图片,框架等等)
默认将网站使用的静态文件放在static文件夹下
在浏览器中输入url能够看待对应的资源是因为后端提前开设好了该资源的接口,如果访问不到,则需要开设对应的接口
去settings.py中加上这样的内容:
静态文件动态解析
{% load static%}
path()函数
用于描述路由和视图函数的对应关系
path(route, views, name=None)
route:字符串类型,匹配的请求的路径
views:指定路径所对应的视图函数的名称
name:为地址起别名,在模板中地址反向解析时使用
form表单的action参数的值
1.不写,默认朝当前所在的url提交数据
2.全写,朝写的地址提交
3.只写后缀,朝当前后缀提交
form表单还有个参数叫method,用来指定提交的方法,默认情况下是get请求
注意:现在阶段,只要有post请求,就需要去settings.py中将MIDDLEWARE中第四条进行注释