一、普通路由配置
1.利用PyCharm创建工程名为mysite的Django项目,在mysite文件上新建views.py视图文件,如下图示:

2.在urls.py文件中导入view.py视图文件

from . import views

3.在urls.py文件中添加新的路由,如下图示:

urlpatterns = [path('admin/', admin.site.urls),# 新添加路由# http://127.0.0.1:8000/indexpath('index', views.viewTest),# http://127.0.0.1:8000/path('', views.viewMainPage),# http://127.0.0.1:8000/page/1path('page/1', views.viewPage1),
]

4.在views.py视图文件中添加以下代码:

from django.http import HttpResponsedef viewTest(request):return HttpResponse('Hello Django')def viewMainPage(request):html = """<h4>这是我的网站首页</h4><a href="http://www.datutusuibi.com/" target="_blank">大土土随笔</a>"""return HttpResponse(html)def viewPage1(request):html = "这是编号为1的页面"return HttpResponse(html)

5.编译运行下,在浏览器地址栏输入http://127.0.0.1:8000/index,效果如下:

在浏览器地址栏输入http://127.0.0.1:8000/page/1,效果如下:

在浏览器地址栏输入http://127.0.0.1:8000/,效果如下:

单击衔接,可以跳转到我的个人博客

二、使用path转换器进行路由配置

path转换器:
1).语法:<转换器类型:自定义名>
2).作用:若转换类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数。
3).例子:path('page/<int:num>',views.xxx)

【常用path转换器类型】

1.在urls.py文件中添加新的路由,如下图示:

urlpatterns = [path('admin/', admin.site.urls),# 新添加的路由# http://127.0.0.1:8000/page/整数    其中整数取值2-100path('page/<int:num>', views.viewPageNum),# http://127.0.0.1:8000/整数/操作符/整数path('<int:num1>/<str:op>/<int:num2>', views.viewCal),
]

2.在views.py视图文件中添加以下代码:

def viewPageNum(request, num):html = f"这是编号为{num}的页面!"return HttpResponse(html)def viewCal(request, num1, op, num2):if op not in ['add', 'sub']:return HttpResponse("你的操作符输入错误!")if op == 'add':result = num1 + num2else:result = num1 - num2html = f"计算结果为{result}"return HttpResponse(html)

3.编译运行下,在浏览器地址栏输入http://127.0.0.1:8000/page/80,效果如下:

4.编译运行下,在浏览器地址栏输入http://127.0.0.1:8000/100/add/200,效果如下:

三、使用re_path转换器进行路由配置
re_path转换器:
1).在url的匹配过程中可以使用正则表达式进行精准匹配
2).语法:re_path(reg,view,name=xxx)
正则表达式为命名分组模式(?P<name>pattern)匹配提取参数后用关键字传参方式传递给视图函数。
3).样例:
可匹配http://127.0.0.1:8000/30/add/60
不可匹配http://127.0.0.1:8000/300/add/600

1.在urls.py文件中添加新的路由,如下图示:

from django.contrib import admin
from django.urls import path, re_path
from . import viewsurlpatterns = [path('admin/', admin.site.urls),# http://127.0.0.1:8000/整数/操作符/整数re_path(r'^(?P<num1>\d{1,2})/(?P<op>\w+)/(?P<num2>\d{1,2})$', views.viewCal2),
]

2.在views.py视图文件中添加以下代码:

from django.http import HttpResponsedef viewCal2(request, num1, op, num2):if op not in ['add', 'sub']:return HttpResponse("你的操作符输入错误!")if op == 'add':result = int(num1) + int(num2)else:result = int(num1) - int(num2)html = f"计算结果为{result}"return HttpResponse(html)

3.编译运行下,在浏览器地址栏输入http://127.0.0.1:8000/30/add/60,效果如下:

如果本文对您有所帮助,请关注微信公众号“捷创源科技”!

2.Pycharm + Django + Python进行WEB路由配置相关推荐

  1. Django(5)-路由配置实例

    Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...

  2. Day47 Django基础部分、路由配置、空间名称

    1.最简单的路由配置 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个U ...

  3. django/python日志logging 的配置以及处理

    日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常.在生产环境下有很大的用处.在java 开发中通常用 log4j,logback 等三方组件.那么在 django中是怎么处 ...

  4. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解

    安装工具: Pycharm 专业版2017.3 PyQT5 python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击 ...

  5. django+python+美图秀秀配置1

    终于要写一篇原创的文章了 ,以前都是考的,这次终于有自己原创了,哥现在的心情哪!不废话,start... 美图秀秀网页版是中国最流行的在线图片处理工具,在线使用,无需下载!独有的图片特效让你1分钟打造 ...

  6. pycharm与python连接_pycharm2017实现python3.6与mysql的连接

    本文为大家分享了pycharm2017上实现python3.6与mysql的连接方法,供大家参考,具体内容如下 与其他的IDE不同,pycharm不需要额外下载mydqldb包等,pycharm里可以 ...

  7. Python的web框架Django(1):HTTP、简介、静态文件配置、路由系统、视图函数、模板语言、ORM、Ajax、分页器、forms、Cookie、Session、中间件、ModelForm

    1. HTTP协议 1)HTTP请求协议 请求格式 POST(方法) /form/entry(URI) HTTP/1.1(协议版本) HOST:hackr.jp(服务端地址) Connection:k ...

  8. 如何用Python做Web开发?——Django环境配置

    用Python做Web开发,Django框架是个非常好的起点.如何从零开始,配置好Django开发环境呢?本文带你一步步无痛上手. 概念 最近有个词儿很流行,叫做"全栈"(full ...

  9. Pycharm+Django搭建第一个Python Web程序

    1.安装django 无论是Python2.x还是Python3.x版本,都可以使用pip来安装Django.在控制台使用如下命令:pip install django 如: 2.检查dgango是否 ...

最新文章

  1. ORB-SLAM2代码/流程详解
  2. mybatis 调用 oracle 存储过程 select into 无记录时NO_DATA_FOUND异常处理分析
  3. 不进化,则消亡——互联网时代企业管理的十项实践
  4. ASP.NET 2.0运行时简要分析
  5. 丢弃commit_git丢弃本地修改的所有文件(新增、删除、修改)
  6. 手工画设计模式的类图
  7. c语言程序设计华北电力大学,2016年华北电力大学电气与电子工程学院C语言程序设计(同等学力加试)考研复试题库...
  8. MVC 使用Jquery实现AJax
  9. AndroidStudio_安卓原生开发_Android中调用摄像头拍照_并剪裁图片---Android原生开发工作笔记138
  10. 手把手教你用Mysql-Cluster-7.5搭建数据库集群
  11. Java猜拳小游戏(剪刀、石头、布)
  12. Linux电源管理-Linux Regulator Framework代码分析
  13. 众信金融8·28开放日:聆听投资人心声
  14. 三步教你免费下载省,市,区县行政区Shp数据
  15. Viewpage+Fragment
  16. 【GlobalMapper精品教程】001:GlobalMapper23 Pro-x64中文安装教程(附软件包下载)
  17. 2022年美赛S奖得主的三次完赛经历
  18. Xmarks不会关闭了,太好了!
  19. 怎么实现微信多公众号管理?
  20. 【手写简易版 vue3】究极长文详细讲解如何实现一个简易版 vue3

热门文章

  1. W3C近期要闻:与Mozilla MDN合作联合开发Web平台文档
  2. 递归思想完成n皇后问题
  3. UVA - 1587 ​​​​​​​Box
  4. Android手机用wifi连接adb调试的方法
  5. 极光推送小结 - iOS
  6. [看书笔记]《深入java虚拟机》——java体系结构(二)
  7. content属性的4种用途
  8. 深入研究java.lang.Runtime类【转】
  9. 《Linus Torvalds自传》摘录
  10. CentOS上安装mysql5.5.23