2.Pycharm + Django + Python进行WEB路由配置

一、普通路由配置
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,效果如下:
在这里插入图片描述
如果本文对您有所帮助,请关注微信公众号“捷创源科技”!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试官 | Oracle JDK 和 OpenJDK 有什么区别?

作者 | petercao来源 | urlify.cn/yAn6ruOpenJDK是Sun在2006年末把Java开源而形成的项目&#xff0c;这里的“开源”是通常意义上的源码开放形式&#xff0c;即源码是可被复用的&#xff0c;例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。Oracle JDK采用了商业实现…

Python通过snmp获取交换机VLAN号、VLAN默认网关、VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据

自己做项目时,自己封装的Python通过snmp获取交换机VLAN号、VLAN默认网关、VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据。 myPySnmp.py源代码 """ mySnmpScan类,扫描核心交换机发送oid或MIB值获取对应数据 """ # -*- coding: utf-8 -*- i…

面试官 | 如何提高服务器的并发能力?

作者 | 潇洒一剑来源 | cnblogs.com/zengjin93/p/5569556.html什么是服务器并发处理能力一台服务器在单位时间里能处理的请求越多&#xff0c;服务器的能力越高&#xff0c;也就是服务器并发处理能力越强有什么方法衡量服务器并发处理能力1. 吞吐率吞吐率&#xff0c;单位时间里…

html网页的结构框架代码

推荐使用Notepad编辑器写HTML代码 Notepad官网下载地址 html学习网址&#xff1a; w3school在线教程 html网页的结构框架.html <!--文档声明&#xff0c;声明当前网页的版本--> <!DOCTYPE html> <!--html的根标签&#xff08;元素&#xff09;&#xff0c;网…

Spring 经典面试题汇总.pdf(2020版)

作者 | 静默虚空来源 | juejin.im/post/5cbda379f265da03ae74c2821、基础1.1. 不同版本的 Spring Framework 有哪些主要功能&#xff1f;Version FeatureSpring 2.5发布于 2007 年。这是第一个支持注解的版本。Spring 3.0发布于 2009 年。它完全利用了 Java…

面试官 | SpringBoot 中如何实现异步请求和异步调用?

作者 | 会炼钢的小白龙来源 | cnblogs.com/baixianlong/p/10661591.html一、SpringBoot中异步请求的使用1、异步请求与同步请求 特点&#xff1a;可以先释放容器分配给请求的线程与相关资源&#xff0c;减轻系统负担&#xff0c;释放了容器所分配线程的请求&#xff0c;其响应将…

HTML网页结构化框架、meta标签和语义化标签

1.HTML网页结构化框架代码示例 myhtml.html <!--文档声明&#xff0c;声明当前网页的版本--> <!DOCTYPE html> <!--html的根标签&#xff08;元素&#xff09;&#xff0c;网页中的所有内容都要写在根元素的里边--> <html lang"en"> <!…

Android之个性化ListView实现

2019独角兽企业重金招聘Python工程师标准>>> Android中提供的ListView部件&#xff0c;用来在android手机中展现一个列表&#xff0c;这个列表的表现形式&#xff0c;完全由你选择的Adapter有关系&#xff0c;android框架中已有的adapter&#xff0c;形式都比较单调…

面试官 | Class.forName 和 ClassLoader 有什么区别?

作者 | 纪莫来源 | dwz.date/eUc在 Java 中 Class.forName() 和 ClassLoader 都可以对类进行加载。ClassLoader 就是遵循双亲委派模型最终调用启动类加载器的类加载器&#xff0c;实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”&#xff0c;获取到二进制流…

微信公众号使用Chrome插件:Markdown Nice优化微信公众号排版教程

Markdown Nice 是一个为了解决微信公众号排版而生的 Markdown 编辑器&#xff0c;当前有在线编辑器和 Chrome 插件 2 种产品形态。 下面介绍Chrome 插件&#xff1a;Markdown Nice 一、下载和安装Markdown Nice 1.从 墨滴 网站下载mdnice谷歌浏览器插件&#xff0c;如下图&a…

面试官 | 如何优雅的设计Java 异常?

作者 | lrwinx来源 | lrwinx.github.io异常处理是程序开发中必不可少操作之一&#xff0c;但如何正确优雅的对异常进行处理确是一门学问。异常的类别正如我们所知道的&#xff0c;java中的异常的超类是java.lang.Throwable(后文省略为Throwable),它有两个比较重要的子类,java.l…

3.Python Django之GET请求和POST请求及响应处理

一、请求中的方法 方法描述GET请求指定的页面信息&#xff0c;并返回实体主体。HEAD类似于GET请求&#xff0c;只不过返回的响应中没有具体的内容&#xff0c;用于获取报头。POST向指定资源提交数据进行处理请求&#xff08;例如&#xff1a;提交表单或者上传文件&#xff09;…

面试官 | Java中的注解是如何工作的?

自Java5.0版本引入注解之后&#xff0c;它就成为了Java平台中非常重要的一部分。开发过程中&#xff0c;我们也时常在应用代码中会看到诸如Override&#xff0c;Deprecated这样的注解。这篇文章中&#xff0c;我将向大家讲述到底什么是注解&#xff1f;为什么要引入注解&#x…

优秀的代码原来是这样分层的

作者 | 咖啡拿铁来源 | t.cn/RdrmI7i1、背景说起应用分层&#xff0c;大部分人都会认为这个不是很简单嘛 就controller&#xff0c;service, mapper三层。看起来简单&#xff0c;很多人其实并没有把他们职责划分开&#xff0c;在很多代码中,controller做的逻辑比service还多,se…

面试官 | 什么是 Lambda?该如何使用?

作者 | Mingqi来源 | zhihu.com/question/20125256/answer/3241213081.什么是Lambda?我们知道&#xff0c;对于一个Java变量&#xff0c;我们可以赋给其一个“值”。如果你想把“一块代码”赋给一个Java变量&#xff0c;应该怎么做呢&#xff1f;比如&#xff0c;我想把右边那…

面试官 | 线程间是如何通信的?

作者 | wingjay来源 | wingjay.com正常情况下&#xff0c;每个线程独立完成自己的任务就结束了&#xff0c;但某些特殊情况下&#xff0c;我们需要多个线程来共同完成某项任务&#xff0c;这时就涉及到了线程间通信了。本文涉及到的知识点&#xff1a;thread.join()object.wait…

Linux debian解压和压缩.rar文件教程

一、简介 我们上传到Linux服务器上的文件日常是.zip或.tat.gz的文件&#xff0c;我们可以用相应的命令对文件进行解压。有时会遇到.rar文件。本次使用rar软件版本是5.6.0。官方网站为http://www.rarlab.com/ 二、下载和安装rar文件 1.创建文件夹 [rootdoudou ~]# mkdir /us…

windos手工扩展分区

为什么80%的码农都做不了架构师&#xff1f;>>> windows 2003系统下手工扩展分区&#xff08;2008系统直接在磁盘管理里扩展卷即可&#xff09; 1、虚拟机关机&#xff0c;将目标磁盘扩展到所需大小 2、开机&#xff0c;进入命令行模式 3、diskpart 进入diskpart工…

面试突击 | 彻底搞定 JVM 这几道高频面试题

前言 Java 相比 C/C 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收)&#xff0c;它解决了 C/C 最令人头疼的内存管理问题&#xff0c;让程序员专注于程序本身&#xff0c;不用关心内存回收这些恼人的问题&#xff0c;这也是 Java 能大行其道的重要原因之…

阿里面试官给你的一些忠告,这样做肯定错不了!附视频

作者 | 梦游的龙猫来源 | http://dwz.win/2pU近期面试了许多&#xff0c;真的是许多同学&#xff0c;讲道理其实我是比较有耐心的面试官&#xff0c;但是还是忍不住想要吐槽&#xff0c;因此写下这篇文章&#xff0c;一方面希望可以帮助到正在面试&#xff0c;或者在来面试路上…