一:总体配置
开始时在项目下面创建一个static的文件夹,静态配置,打开settings ,输入 STATICFILES_DIRS=[ os.path.join(BASE_DIR,'static') ]
二:djano中的路由的作用
路由就是路径跟我视图函数的映射关系
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行
from django.urls import path urlpatterns = [ path('articles', views.special), ] articles这个路由对应着视图函数中special这个方法,浏览器输入这个链接,就会响应到special这个函数来执行
三: 简单的路由配置
from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 1 正则表达式:一个正则表达式字符串 2 views视图函数:一个可调用对象,通常为一个视图函数或一个指定 3 视图函数路径的字符串 4 参数:可选的要传递给视图函数的默认参数(字典形式) 5 别名:一个可选的name参数
from django.urls import path,re_path from app01 import views urlpatterns = [ re_path(r'^articles/2003/$', views.special_case_2003), re_path(r'^articles/([0-9]{4})/$', views.year_archive), re_path(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive), re_path(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail), ] 注意: 1 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。 2 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。 3 每个正则表达式前面的'r' 是可选的但是建议加上。它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义 4 urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续
1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号,) -url(r`'^admin',admin.sit.urls), 2 无名分组 -分组之后,会把分组出来的数据,当参数,传到视图函数,所以,视图函数需要定义 -url(r`^publish/[0-9]{4}/[0-9]/{2}/$',views.publish)
-def publish(request,*args):视图函数可以这样接收
3 有名分组
-按关键字传参
-有名分组之后,会把分组出来的数据,当关键字参数,传到视图函数,所以,视图函数需要定义形 参,形参名字要跟分组的名字对应,与顺序无关
-url(r'^publish/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})/$', views.pub lish),
-def publish(request, mounth,year):
*****有名分组和无名分组,不要混用
路由分发
反向解析
实现在空白页或在路有中找不到的时候的解决办法