3.1配置文件(settings.py)
3.2静态文件使用
3.2.1配置静态文件的访问
# 静态⽂件访问的路由
STATIC_URL = '/static/'
# 配置静态⽂件加载⽬录
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_files')
]
3.2.2准备静态文件1
项目根路径/静态文件夹/静态文件
项目根路径/static_files/index.html
http://127.0.0.1:8000/static/index.html
3.2.3准备静态文件2
项目根路径/static_files/goods/detail.html
http://127.0.0.1:8000/static/goods/index.html
3.3路由的使用
3.3.1django解析路由的流程
3.3.2路由定义的位置
(1)总路由+子路由
①总路由:url(r'^users/', include('users.urls')),
②子路由:url(r'^index/$', views.index),
(2)总路由:url(r'^users/index/$', views.index),
(3)子路由
①总路由:url(r'^', include('users.urls')),
②子路由:url(r'^users/index/$', views.index),
3.3.3路由解析的顺序
(1)urlpatterns里面的路由解析顺序(自上而下)
urlpatterns = [
# url(r'^路径$', views.视图),
url(r'^index/$', views.index, name='index'),
# 以下代码演示路由⾃上⽽下匹配规则
# url(r'^say', views.say), # 这个会拦截下⾯的路由
# url(r'^sayhello', views.say_hello),
url(r'^say$', views.say), # 定义路由要指明开始和结束
url(r'^sayhello$', views.say_hello),
]
(2)注意:子路由需要有开头和结尾
3.3.4路由命名空间和reverse反解析
(1)定义命名空间
url(r'^users/', include('users.urls', namespace='users')),
url(r'^index/$', views.index, name='index'),
(2)使用反向解析
'users/index/'
url = reverse('users:index')
3.3.5路由以斜线结尾说明
(1)正则匹配路由结尾带斜线
如果用户输入的url路径没有斜线,当找不到该路由时,浏览器会自动的重定向到带斜线的路由
(2)正则匹配路由结尾不带斜线
如果用户输入的url路径有斜线,直接报404错误