2.Pycharm + Django + Python进行WEB路由配置
一、普通路由配置
1.利用PyCharm創建工程名為mysite的Django項目,在mysite文件上新建views.py視圖文件,如下圖示:
2.在urls.py文件中導入view.py視圖文件
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路由配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ACME部署生成阿里云免费HTTPS
- 下一篇: 【博主推荐】Python 基于Xlwin