• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Django URL和View的关系说明

    URL和View的关系

    1、每次用户发来一个HttpRequest请求,Django会用URL_pattern与请求进行匹配,匹配到第一个URL_pattern就会把请求转向对应的view

    2、view用来响应request,并返回response,response里可以包含网页文件呀,图片等等。所以项目中绝大部分代码均在此编写。

    view 可以引入通用模板来减少代码量,具体查看文档

    Use generic views

    3、view引入HTML文件的方法:

    在一个app下建立一个templates文件夹,将html文件放进去该文件夹

    这里其实不一定要把HTML文件放在这个templates里,可以随意定义

    不过,需要在setting.py里,找到templates,

    修改DIRS:[ os.path.join (BASE_DIR,'你定义的html存放的文件夹')]

    在app下 view.py 文件,在里面写好view函数

    def 函数名(request):

    return render(request,'index.html')

    render(渲染)需要三个变量, 第一个变量是request请求,第二个是模版所在目录,第三个是一个字典(可选),字典用于对应模板里设计的变量,可以用locals()将函数里设计的变量自动转换为字典

    4、在对于app下创建一个urls.py ,写入如下内容

    from django.urls import path​
    from . import views​
    urlpatterns = [ ​
     path('', views.index, name='index'),​
    ]

    5、在项目文件夹里找到 urls.py 加入如下内容

    from django.urls import include, path
    ​
    urlpatterns = [
     path('polls/', include('polls.urls')),
     path('admin/', admin.site.urls),
    ]

    对于a>标签里的 href 可以用 {% url 'url名' %}来代替,url名指的是 urls.py 里的path('login.html/', views.my_login, name='url名'),

    Django 中通常使用 get_object_or_404()来捕捉 404 错误,而不用自己写 try...except

    def detail(request, question_id):
     question = get_object_or_404(Question, pk=question_id)
     return render(request, 'polls/detail.html', {'question': question})

    补充:django中url与view配置方法

    django中url与view配置方法(一)

    url.py

    from django.conf.urls import url
    from . import views
    urlpatterns = [
     url(r'^$', views.showAssets, name='show_assets'),
    ]
    

    views.py

    # -*- coding: utf-8 -*-
    from django.shortcuts import render_to_response
    # Create your views here.
    def showAssets(request):
     return render_to_response('assets_index.html', {})
    

    django中url与view配置方法(二)

    url.py

    # -*- coding: utf-8 -*-
    from django.conf.urls import url
    from app001.views import IndexView
    urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^$', IndexView.as_view(), name="index"), ]
    

    views.py

    # -*- coding: utf-8 -*-
    from django.views.generic.base import View
    from django.shortcuts import render
    # Create your views here.
    class IndexView(View):
     def get(self, request):
      return render(request, 'index.html', {})
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • django ListView的使用 ListView中获取url中的参数值方式
    • Django项目主urls导入应用中views的红线问题解决
    • django多个APP的urls设置方法(views重复问题解决)
    • django url到views参数传递的实例
    上一篇:Django session登陆并获取值的实例
    下一篇:Django中url与path及re_path的区别说明
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Django URL和View的关系说明 Django,URL,和,View,的,关系,