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()将函数里设计的变量自动转换为字典

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

    from django.urls import path
    ​
    from . import views
    ​
    urlpatterns = [
    ​
        path('', views.index, name='index'),
    ​
    ]
    ​
  2. 在项目文件夹里找到 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的关系相关推荐

  1. Django中url匹配规则的补充

    Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...

  2. Django中的视图(view)

    视图 1.什么是视图 视图就是Django项目下的view.py文件,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求后处理请求并且返回相应的数据,相当于一个中央情报处理系统 2.具体视图实 ...

  3. django中URL常用配置方法

    1:直接导入视图函数 1 from django.conf.urls.defaults import * 2 from mysite.views import hello 3 urlpatterns ...

  4. Django中URL正则表达式匹配

    Django框架中的URL分发采用正则表达式匹配来进行,以下是正则表达式的基本规则: 官方演示代码: from django.conf.urls import urlfrom . import vie ...

  5. django中settings中文解释

    APP_DIRS 是否在App里面查找文件 BACKEND 定义模板引擎,用于识别模板里面的变量和指令,内置的模板有Django Templates和jinja2.Jinja2 DIRS 设置模板所在 ...

  6. python框架Django中MTV框架之VIew(业务控制器)

    MTV框架之VIew(业务控制器) 关注公众号"轻松学编程"了解更多. 1.什么是视图 视图层=路由表(urls.py)+视图函数(views.py) 其角色相当于MVC中的Con ...

  7. Django框架(7.Django中视图,url的配置)

    视图 在Django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的, 视图函数处理之后,要给浏览器返回页面内容 url匹配 urlpatterns 是固定写法,它的值是 列表 我们在浏览 ...

  8. Django中的url路由机制------学习mooc中《Python云端系统开发入门》

    通过对url的定义转换.传参.命名等,找到相关的view,也就是它的处理函数. 路由就是关联url,及其处理函数关系的过程. 在django框架中,在settings.py文件中的ROOT_URLCO ...

  9. Django 中的根ulr与APP的url关联的思考

    ##Django 中的根ulr与APP的url关联的思考 今天看Django的url模块,其中根目录的url 如何关联到具体app的url,做了一些测试,可做参考. 首先,根目录的urls.py中,去 ...

  10. MFC中的MainFrame Dlg,App,Doc,View的关系

    MFC中的MainFrame Dlg,App,Doc,View的关系 MainFrame: 主框架类 Dlg 是Dialog 的缩写,表示对话框本身 App类就是这个SDI作为"程序&quo ...

最新文章

  1. 让网管暴寒的网络故障(一笑了之)
  2. 网络化楼宇对讲的前景
  3. C# log4net 不输出日志
  4. 关于卡巴斯基6.0自动升级时报错后自动退出的情况
  5. Vista初级使用技巧及故障总结
  6. 力扣491. 递增子序列(JavaScript)
  7. python matplotlib 绘图操作
  8. JavaScript 学习笔记4
  9. 《数据结构题集》习题解析
  10. 9月程序员新书:每一本拿出来都堪称经典,如:图灵奖获得者经典书
  11. Nodejs 获取本机IP地址
  12. echarts tooltips数据内容过多超出显示范围
  13. 【独家】一文读懂文字识别(OCR)
  14. js判断浏览器是pc端还是手机端
  15. 可伸缩系统的架构经验
  16. “元宵”大师带你用Python量化交易
  17. JSTL自定义标签(三)
  18. 基于微信小程序云开发的投票小程序源码,图文投票微信小程序源码
  19. 若依项目整合eCharts实现图表统计功能
  20. 遇到oracle错误12514,【ORACLE】提示ORA-12514错误处理

热门文章

  1. 解决maven中ojdbc14:11.2.0.1.0错误
  2. Axure 8.0/9.0 注册码 激活码 授权码 License
  3. npm下载和使用(超详细)
  4. python qq群管理_Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码...
  5. 若依框架(一 运行框架)
  6. 如何建语料库_关于语料库的建立
  7. 怎么清理c盘语言文件,怎么清理c盘垃圾
  8. linux将数字转为科学计数法,Linux下科学计数法(e)转化为数字的方法
  9. SQL语句--创建视图
  10. 基于51单片机的可掉电走表万年历设计(LCD12864+DS1302+DS18B20+LM7805+18650电池外部供电)