这篇文章主要介绍”Django URL和视图的关系是什么”,在日常操作中,相信很多人在Django URL和视图的关系是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Django URL和视图的关系是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
URL和视图的关系
1,每次用户发来一个HttpRequest请求,Django会用URL_pattern与请求进行匹配,匹配到第一个URL_pattern就会把请求转向对应的视图
2,视图用来响应请求,并返回响应,响应里可以包含网页文件呀,图片等等。所以项目中绝大部分代码均在此编写。
视图可以引入通用模板来减少代码量,具体查看文档
Use generic 观点
3,观点引入HTML文件的方法:
在一个应用程序下建立一个模板文件夹,将HTML文件放进去该文件夹
这里其实不一定要把HTML文件放在这个模板里,可以随意定义
不过,需要在设置。py里,找到模板,
修改DIRS: [os.path。加入(BASE_DIR & # 39;你定义的html存放的文件夹& # 39;)]
在应用下视图。py文件,在里面写好视图函数
def函数名(请求):
return 渲染(请求,& # 39;index . html # 39;)
渲染(渲染)需要三个变量,第一个变量是请求请求,第二个是模版所在目录,第三个是一个字典(可选),字典用于对应模板里设计的变量,可以用当地人()将函数里设计的变量自动转换为字典
4,在对于应用下创建一个url。py,写入如下内容
得到django.urls import 路径 得到只import 观点=,[urlpatterns ,路径(& # 39;& # 39;,,views.index,, name=& # 39;指数# 39;), )
5,在项目文件夹里找到url。py加入如下内容
得到django.urls import 包括路径 urlpatterns =, ( ,路径(& # 39;民意调查/& # 39;,,包括(& # 39;polls.urls& # 39;)), ,路径(& # 39;管理/& # 39;,,admin.site.urls), )
对于& lt; a>标签里的href可以用{% & # 39;url网址名& # 39;%}来代替、url名指的是url。py里的路径(& # 39;login.html/& # 39;,观点。my_login name=& # 39; url名& # 39;),
Django中通常使用get_object_or_404()来捕捉404错误,而不用自己写试试……除了
def 细节(请求,,question_id):=,,question  get_object_or_404(问题,,pk=question_id) ,return 渲染(请求,,& # 39;民意调查/detail.html& # 39;,,{& # 39;问题# 39;:,问题})
<强>补充:django url中与视图配置方法强>
django url中与视图配置方法(一)
url。py
得到django.conf.urls import url 得到只import 观点 urlpatterns =, ( ,url (" # 39; ^ $ & # 39;,, views.showAssets,, name=& # 39; show_assets& # 39;), )
视图。py
#, - *安康;编码:utf-8 - * - 得到django.shortcuts import  render_to_response #,Create your  views 这里。 def showAssets(请求): ,return render_to_response (& # 39; assets_index.html& # 39;,, {})
django url中与视图配置方法(二)
url。py
#, - *安康;编码:utf-8 - * - 得到django.conf.urls import url 得到app001.views import  IndexView urlpatterns =, ( ,url(" # 39;管理/^ & # 39;,,admin.site.urls), ,url (" # 39; ^ $ & # 39;,, IndexView.as_view (),, name=癷ndex"),,)
视图。py
#, - *安康;编码:utf-8 - * - 得到django.views.generic.base import 视图 得到django.shortcuts import 渲染 #,Create your  views 这里。 class IndexView(观点): ,def (自我,,请求): return 才能使(请求,& # 39;index . html # 39;,, {})