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采用了商业实现…

关于终端的小脚本

#!/bin/bashwho|grep -v ^root |awk {print $1,$2} |while read user ttydo echo "$user :hi,i am root" >/dev/$ttydone向终端窗口或者是控制台&#xff08;必须是普通用户登录的情况下&#xff09;发送信息转载于:https://blog.51cto.com/menglinux/1434…

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;单位时间里…

CentOS 7.0变动

一如每个主要版本的首个发行本&#xff0c;多数组件都已作出改动及更新至较新版本。列出所有改动是本文档的范围以外的事情。最重大的改动计有&#xff1a;内核更新至 3.10.0支持 Linux 容器Open VMware Tools 及 3D 图像能即装即用OpenJDK-7 作为缺省 JDK原地升级 6.5 至 7.0&…

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…

Python校验文件Hash值及获取文件属性

myHash.py # -*- coding: utf-8 -*- import os from hashlib import md5, sha1, sha256 from zlib import crc32 import time from math import ceilclass Hash:def __init__(self, strFilePath):self

面试官 | 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…

微型php框架 include/conf.class.php

<?phpdefined(ACC)||exit(Access Denied);// 配置文件读取类class conf {protected static $ins null;protected $cfg array(db>java0620);public static function getIns() {if(self::$ins null) {self::$ins new self();}return self::$ins;}final protected func…

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…

Linux mint 17中文输入法安装,改动linux mint与windows7双系统启动顺序

安装好linux mint17后&#xff0c;进入mint系统&#xff0c;首先须要一个比較合适的中文输入法。 一、首先迎来的就是安装中文输入法了&#xff0c;之前听说搜狗为ubuntu kinly定制了输入法&#xff0c;所以就想安装搜狗输入法&#xff0c;可是搜索了多个教程并不起作用&#x…

Linux debian安装Typora教程

Typora简介 ​ Typora是一款轻便简洁的Markdown编辑器&#xff0c;它支持即时渲染技术&#xff0c;这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就像写Word文档一样流畅自如&#xff0c;不像其他编辑器有编辑栏和显示栏。 下载安装包 官网下载较慢&am…

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

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