python3.6、Django2.1

  在之前的(一)中,讲述编写一个简单的Django项目例子,在以后的学习中,将会接触到各个部分更加深层次的东西。在(一)中已经比较详细的说了视图,这里会详细的探讨一下URL设置。

  当我们使用命令:

django-admin stratproject mysite

  之后启动一个app:

python manage.py startapp login

  后,就开始对项目正式编写内容。

  在编写视图之前或者是在编写视图之后(这里根据开发者个人习惯进行选择),需要配置URL,使得用户的访问得以进行下去。这里我觉得各位应该有个全局观的思想,我们知道URL配置在项目下urls.py中进行,那么对于以后的开发会出现很多的URL,这么多如何进行管理呢?我们知道在项目下还有个App的分类,可以通过不同的App进行分类管理。接下来我们需要这么做:

  在app下新建urls.py,将这个文件包含到大的urls.py中:

path('login/', include('login.urls')),

  这样我们就将App的urls.py包含到项目的urls.py中了。看起来很有意思的样子。。。之后我们就可以对App中的urls.py进行配置就好了。

  我们便直接把视图和项目urls.py写好吧,安心配置URL:

from django.contrib import admin
from django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),path('login/', include('login.urls')),
]

from django.shortcuts import HttpResponsedef user(request):return HttpResponse('Hello user')

  ①第一种是输入指定url,直接返回视图:

from django.urls import path
from hello import viewsurlpatterns = [path('user/', views.world), # 启动服务器后,在浏览器中输入 http://127.0.0.1:8000/login/user/ 即可返回视图
]

  ②第二种是输入指定类型的url(使用正则表达式)获取内容传给视图,并且进行简单的处理,再返回视图,我们需要修改视图,即修改一下需求:

from django.shortcuts import HttpResponse,Http404def user(request):return HttpResponse('Hello user')def add(request, num):try:num = int(num)except ValueError:raise Http404() # 捕获一样就抛出404界面num += 1html = '<html><body><h1>%s</h1></body></html>' % numreturn HttpResponse(html) # 返回数字+1的内容

  接下来修改urls.py:

from django.urls import path,re_path
from hello import viewsurlpatterns = [path('user/', views.world), # 启动服务器后,在浏览器中输入 http://127.0.0.1:8000/login/user/ 即可返回视图re_path(r'add/(\w{1})/', views.add),  # 使用正则表达式时,需要使用re_path,r'add/\w{1}/'是在add/后匹配一个数字,例如add/1/,使用()括起来就是获得该参数
]

  之后启动服务(如果已经启动了,服务会动态的进行加载,当你修改时),浏览器中输入http://127.0.0.1:8000/login/add/1/进行验证。

总结一下URL请求过程:

  1.浏览器输入http://127.0.0.1:8000/login/add/1;

  2.首先Django会去settings.py中寻找根URLCONF,默认是urls.py;

  3.根urls.py匹配 login/ 传给login(App)的urls.py;

  4.App urls.py匹配add/1/,并且将 1 传给views.add视图;

  5.视图返回结果。

转载于:https://www.cnblogs.com/liquorppp/p/9523788.html

边看边练之Django(二)---- Django的URL设置相关推荐

  1. 快速上手Django(二) Django 根据模型(models)生成更新数据库表make migrations

    文章目录 一.Django 根据模型(models)生成更新数据库表make migrations 0. 基础 1. 根据mode生成更新数据库表 2. 迁移的回退 3. migrations目录 需 ...

  2. Django简介Django 各个环境下的安装

    目录: Django介绍 Django 全貌 Django 安装 Window 下安装 Django Linux 上安装 Django Mac 下安装 Django介绍 Django 是一个由 Pyt ...

  3. Django:视图和URL配置

    一.视图      1.在mysite文件夹下.创建views.py文件(文件名称没有特别的要求): from django.http import HttpResponsedef hello(req ...

  4. Django(part1)--Django介绍与安装

    学习笔记,仅供参考 文章目录 Django框架 Django框架介绍 安装与卸载 举个例子 Django框架 Django框架介绍 Django框架是采用Python语言编写的开源框架,早期用于新闻和 ...

  5. django外调用url_Django url

    三 分组命名匹配 上面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图. 在更高级的用法中,可以使用分组命名匹配的正则表达式组来捕获URL中的值并以关键字参 ...

  6. Django基础-Web框架-URL路由

    Django基础-Web框架-URL路由 一.Django基础–Web框架 MVC和MTV框架 MVC 把Web应用分为模型(M).视图(V).控制器(C)三层,他们之间以一种插件式的,松耦合的方式联 ...

  7. Python框架篇之Django(路由系统URL、视图函数views)

    文章目录 一.路由系统(URL) 二.视图函数(views) 一.路由系统(URL) 1.URL配置 (URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用 ...

  8. django render_(django/flask/bottle)多框架python-restful接口包api-shop

    前言: 最近写web接口写得快吐了,写完还得写文档,甚至还得写点测试样本,还要在django和flask之间不断的重复类似的工作,简直不能忍.目前django和flask的restful工具包用着有点 ...

  9. 【Django】Django配置文件和设计模式详解

    一.安装和卸载 安装:pip install django[==版本] 卸载:pip uninstall django 二.创建和启动项目 django-admin startproject 项目名称 ...

  10. 如何使用Django和GraphQL创建URL缩短器

    The author selected Girls Who Code to receive a donation as part of the Write for DOnations program. ...

最新文章

  1. Yii2 HOW-TO(2):最佳实践(1)
  2. DCMTK:以HTML格式呈现DICOM结构化报告文件的内容
  3. mysql 死锁监视器_并发基础知识:死锁和对象监视器
  4. 常用系统函数oracle
  5. 不同种类的ICP算法
  6. Windows7查看无线网络密码
  7. 独角访谈 | 去中心化交易所领军人物–Loi Luu
  8. npm 安装axios报错
  9. linux1t文件误删,linux – 复制1TB稀疏文件
  10. 关于域名抢注:过期高PR域名抢注价值高吗?
  11. STM32H7B0 HAL OSPI配置的一次失败原因分享
  12. java float 判断整数_判断一个数是否是整数
  13. Android根据音量大小绘制心电图(附源码)
  14. SSD制作自己的数据集
  15. Labview文字识别-从训练到识别
  16. 假如古代皇帝也懂负载均衡算法
  17. 每天进步一点点【稀疏数组】
  18. S7COMM协议分析
  19. 腾讯云服务器SSH远程登录
  20. Java开发 三角形算法汇总

热门文章

  1. 03-树2. List Leaves (25) 二叉树的层序遍历
  2. 解决 placeholder 垂直不居中,偏上的问题
  3. 网页编辑器粘贴word格式的处理
  4. 认识XinYiCMS从这里开始!
  5. VS2008内嵌水晶报表翻页BUG修正方法
  6. WSS3.0开发-过滤列表内容(2)--一个增强的列表元数据查询webpart(SmartQueryWebPart)...
  7. JAVA foreach 遍历列表为nulll判定
  8. C#WinForm的TextBox 按TAB键让光标按照指定顺序走
  9. 百度地图坐标系统应用
  10. Sql语句查询某列A相同值的另一列B最大值的数据