零之前言

我没有对Django的模式(MTV)有过多的描述,不理解可以去看看前面的视频,但是我写文章的时候,会考虑到没有进行过多的描述,所以会将这个模式给简单化小阐述一下。

这节内容,在千峰教育视频(P27~P30)里有更详细的描述

https://www.bilibili.com/video/av57516522?p=28

一.Url

Url顾名思义,你输入这个路由网址,我负责将你导向到我们的View视图函数里。而Url可以携带一些参数。

详见url的构成图片:

这个我们可以不用管,如果要获取后面的参数,一般可以用正则表达式来提取,或者有些事Get和Post带的东西,那就直接在视图里面可以获取的到。

所以带参数的Url,尽量写成Get访问,可以更方便的获取。

二.URL的反向解析

使用正则表达式,反向解析我们的Url。

好处一:可以不用修改我们的文件路径,直接修改名字就行。

好处二:可以获取Url里的参数,但是,我不用。。。

课件是这样说的:

url反向解析:

在根urls中

url(r'^views/', include('ViewsLearn.urls',namespace='view')),

在子urls中

url(r'^hello/(\d+)',views.hello,name='sayhello'),

在模板中使用

<a href="{% url 'view:sayhello'  year=2017 %}">Hello</a>

year 的位置如果不指定名称按顺序算,指定名称按=算

在视图中使用

HttpResponseRedirect(reverse('view:sayhello',kwargs={}))

kwargs是字典

但是在2.0版本以上,我们一般这样使用,也是我基本上会使用的唯一语句:

from django.urls import path, re_path
from app import viewsurlpatterns = [#path("hello/", views.hello),#这个就是硬编码,唯一路径匹配re_path(r"hello/", views.hello, name="hello"),#这个是反向解析
]

所以,我们对于Url可以理解成一句话,将网址指向一个view里的函数:

re_path(r"hello/", views.hello, name="hello")

MTV模式里的一部分:用户访问→urls→views

Django学习记录4——urls的简述相关推荐

  1. Django学习记录-1

    2019独角兽企业重金招聘Python工程师标准>>> 作为Django的初学者,记录下我的学习历程,加深一下记忆(工作中用java,所以很容易忘记),如果有写的不对的地方,还望大家 ...

  2. Django 学习记录

    学习使用Django有一段时间了,期间也做过一些记录,希望能帮到大家! 2017-08-16 #Django python manage.py startapp Users #生产新的应用 2017- ...

  3. Django学习记录

    粗粗看完Tango With Django,对于Django走马观花看了一遍,记录下来方便以后总结使用. 首先 创建工程 django-admin.py startproject testsite00 ...

  4. Django 学习记录 第一天

    从这篇文章开始,来记录我的Django学习过程. Day-1 一 首先是安装Django版本的选择,我所选择的是Django1.11.为什么选择1.11呢,因为它是长期技术支持版(LTS),官方会加上 ...

  5. Django学习记录8

    应用 应用在django中为一个独立的业务模块,可以包含自己的路由.模板.模型. 当网站有很多分区时,可将他们分为多个应用,他们之间相互隔离,均为相对独立的MTV ① 可使用命令: python ma ...

  6. django学习阶段总结:urls说明

    配置urls: 第一步:打开项目的ursl.py的文件: 1.先导入必要类:path和include from django.contrib import admin from django.urls ...

  7. Django学习记录10——Django使用支付宝付款(电脑支付,手机网页支付,面对面扫码)

    目录 一.注册支付宝开放平台账号 1.注册 2.创建公私秘钥 2.项目中添加公私密钥 二.生成二维码 1.安装模块等 2.模块的结构 3.电脑支付 4.手机支付 5.面对面扫码(真二维码支付) 三.小 ...

  8. Django学习记录3-2——Mysql数据库的使用

    零之前言 在Django2.2版本上使用mysql会出现一个小问题,而在2.1.4版本就不会出现问题.所以这篇教程着重于对于django2.2版本的调教 末尾更新新库mysqlclient 一.安装驱 ...

  9. Django学习记录之——choices参数

    choices参数 choices参数:针对表中某个可能列举完全的字段,采用choices参数例如:性别可以列举完全为男女,其他- choice参数使用sex_choices = ((1, '男'), ...

最新文章

  1. iOS 轻击、触摸和手势的检测
  2. 创建一个好的Sprint Backlog 的8个小贴士
  3. JS-立即执行函数(function(){...})() amp;amp; (function(){...})()
  4. 报告:2020年NFT总市值达5200万美元
  5. Gentoo Framebuffer, Bootsplash Grubsplash 指南(修改版)
  6. 用MFC消息映射机制自定义消息
  7. cartographer的一些结果
  8. DVWA(全级别通关教程详解)
  9. java程序员的待遇_想学java,一般的java程序员的薪资待遇是多少?
  10. 生活小常识:增发防脱发
  11. python自动化测试面试题大全带答案_Python自动化测试笔试面试题精选
  12. Lattice并购案我国FPGA发展路径
  13. BT面板静态文件镜像库v7.1.0
  14. 透视表中如何使用多条件中位数
  15. 《es6标准入门》 阮一峰
  16. Windows文件共享防火墙规则设置
  17. ssm基于微信小程序的电影影评交流平台系统 uni-app
  18. android探索宇宙app,AR研学星系探索app
  19. linux安装微软字体
  20. 计算机论文免费模板,1.计算机专业毕业论文模板

热门文章

  1. RGB-T 开源数据集资源汇总
  2. 怎么把照片做成电子相册?照片制作视频,简单3步快速拥有炫酷特效!
  3. Yeslab 华为安全HCIE-第七门-Agile Controlle
  4. CSS中文说明及字体颜色代码
  5. 华电保定计算机学院,华北电力大学(保定)研究生院
  6. 罗杰“炮轰”尹虹,陶瓷电商互联网将到来得很快,很彻底!
  7. 【基于pytesseract进行图片文字识别】
  8. 生产环境lvm磁盘扩容!!!
  9. C# ——具名参数和可选参数
  10. VC6.0操作XML电子表格2003