边看边练之Django(二)---- Django的URL设置
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设置相关推荐
- 快速上手Django(二) Django 根据模型(models)生成更新数据库表make migrations
文章目录 一.Django 根据模型(models)生成更新数据库表make migrations 0. 基础 1. 根据mode生成更新数据库表 2. 迁移的回退 3. migrations目录 需 ...
- Django简介Django 各个环境下的安装
目录: Django介绍 Django 全貌 Django 安装 Window 下安装 Django Linux 上安装 Django Mac 下安装 Django介绍 Django 是一个由 Pyt ...
- Django:视图和URL配置
一.视图 1.在mysite文件夹下.创建views.py文件(文件名称没有特别的要求): from django.http import HttpResponsedef hello(req ...
- Django(part1)--Django介绍与安装
学习笔记,仅供参考 文章目录 Django框架 Django框架介绍 安装与卸载 举个例子 Django框架 Django框架介绍 Django框架是采用Python语言编写的开源框架,早期用于新闻和 ...
- django外调用url_Django url
三 分组命名匹配 上面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图. 在更高级的用法中,可以使用分组命名匹配的正则表达式组来捕获URL中的值并以关键字参 ...
- Django基础-Web框架-URL路由
Django基础-Web框架-URL路由 一.Django基础–Web框架 MVC和MTV框架 MVC 把Web应用分为模型(M).视图(V).控制器(C)三层,他们之间以一种插件式的,松耦合的方式联 ...
- Python框架篇之Django(路由系统URL、视图函数views)
文章目录 一.路由系统(URL) 二.视图函数(views) 一.路由系统(URL) 1.URL配置 (URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用 ...
- django render_(django/flask/bottle)多框架python-restful接口包api-shop
前言: 最近写web接口写得快吐了,写完还得写文档,甚至还得写点测试样本,还要在django和flask之间不断的重复类似的工作,简直不能忍.目前django和flask的restful工具包用着有点 ...
- 【Django】Django配置文件和设计模式详解
一.安装和卸载 安装:pip install django[==版本] 卸载:pip uninstall django 二.创建和启动项目 django-admin startproject 项目名称 ...
- 如何使用Django和GraphQL创建URL缩短器
The author selected Girls Who Code to receive a donation as part of the Write for DOnations program. ...
最新文章
- Yii2 HOW-TO(2):最佳实践(1)
- DCMTK:以HTML格式呈现DICOM结构化报告文件的内容
- mysql 死锁监视器_并发基础知识:死锁和对象监视器
- 常用系统函数oracle
- 不同种类的ICP算法
- Windows7查看无线网络密码
- 独角访谈 | 去中心化交易所领军人物–Loi Luu
- npm 安装axios报错
- linux1t文件误删,linux – 复制1TB稀疏文件
- 关于域名抢注:过期高PR域名抢注价值高吗?
- STM32H7B0 HAL OSPI配置的一次失败原因分享
- java float 判断整数_判断一个数是否是整数
- Android根据音量大小绘制心电图(附源码)
- SSD制作自己的数据集
- Labview文字识别-从训练到识别
- 假如古代皇帝也懂负载均衡算法
- 每天进步一点点【稀疏数组】
- S7COMM协议分析
- 腾讯云服务器SSH远程登录
- Java开发 三角形算法汇总
热门文章
- 03-树2. List Leaves (25) 二叉树的层序遍历
- 解决 placeholder 垂直不居中,偏上的问题
- 网页编辑器粘贴word格式的处理
- 认识XinYiCMS从这里开始!
- VS2008内嵌水晶报表翻页BUG修正方法
- WSS3.0开发-过滤列表内容(2)--一个增强的列表元数据查询webpart(SmartQueryWebPart)...
- JAVA foreach 遍历列表为nulll判定
- C#WinForm的TextBox 按TAB键让光标按照指定顺序走
- 百度地图坐标系统应用
- Sql语句查询某列A相同值的另一列B最大值的数据