Django URL和视图的关系是什么

  介绍

这篇文章主要介绍”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;,, {})

Django URL和视图的关系是什么