django配置文件详解,django背景图片设置
创建项目时,Django会自动创建URL配置,它位于urls.py文件中。
该文件的默认内容如下:
我的站点配置
urlpatternslistroutesurlstoviews。表格信息请参见:
https://docs.djangoproject.com/en/1.8/topics/http/urls/
示例:
函数视图
1.addanimport : from my _ appimportviews
2.addaurltourlpatterns:url(r^$,views.home,name=home)
基于类的视图
1.addanimport : from other _ app . viewsimporthome
2.addaurltourlpatterns:url(r^$,home.as_view(),name=home)
包括notherURLconf
1.addanimport : fromgimporturlsasblog _ URLs
2.addaurltourlpatterns:url(r^blog/,include(blog_urls))
fromdjango . conf . urlsimportinclude,url
from django . contributimportadmin
urlpatterns=[
url(r^admin/,include(admin.site.urls)),
]去掉评论,剩下的才是精华。逐行分析:
第一行从django.conf.urls模块导入两个函数:include,用于导入另一个URL配置模块;Url,使用正则表达式模式匹配浏览器中的URL,并将其映射到Django项目中的一个模块。
第二行从django.contrib模块导入管理函数。这个函数被传递给include函数来加载Django管理后台的URL。
第三行是urlpatterns,它是url()实例的列表。Django期望URL配置中的urlpatterns对象,它负责定义URL和处理URL的代码之间的映射。在URL配置中添加URL和视图的方法是将URL模式映射到视图函数。
注意:
url函数的第一个参数是正则表达式,第二个参数是视图函数。
如果我们指定的URL模式要求/在末尾,默认情况下,如果请求的URL不匹配任何URL模式,并且末尾没有斜杠,Django会将其重定向到末尾有斜杠的URL。
我们将视图函数作为对象传入,而没有调用该函数。
Django处理请求的过程
创建Django项目时,会自动创建setting.py文件,保存当前项目的所有配置。每个配置的名字都是大写的,比如TEMPLATE_DIRS、数据库等。其中ROOT_URLCONF指向自动生成的urls.py,告诉Django网站的URL是在哪个Python模块中配置的。在接收到对URL的请求时,Django加载由ROOT_URLCONF设置指定的URL配置;然后依次检查URL配置中的每个URL模式,并依次与请求的URL进行比较,直到找到匹配的模式。
找到匹配的模式后,调用相应的视图函数,并将一个HttpRequest对象作为第一个参数传递给视图函数。view函数必须返回一个HttpResponse对象。
总而言之,整个过程如下:
收到的请求
Django查看ROOT_URLCONF设置并找到根URL配置。
Django比较URL配置中的URL模式,找到符合请求的模式。
如果找到,调用相应的视图函数。
view函数返回一个HttpResponse对象。
Django将HttpResponse对象转换成正确的HTTP响应来获取网页。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。