前言如打開博客園按時間分類標(biāo)簽頁【https://www.cnblogs.com/yoyoketang/archive/2018/10.html】,里面是時間參數(shù)是動態(tài)的,,如果我想獲取里面的時間參數(shù)2018和10這兩個參數(shù),,這就涉及到url參數(shù)的獲取了,。 獲取url參數(shù)先用path去匹配一個url地址,,類似于:archive/2018/10.html,,于是取兩個參數(shù)名稱year,month,。參數(shù)用 from django.conf.urls import url
from django.urls import re_path, path
from hello import views
urlpatterns = [
# 匹配 archive/2018/10.html
path("archive/<year>/<month>.html", views.home),
] hello.py/views.py視圖函數(shù)內(nèi)容 from django.shortcuts import render
from django.http import HttpResponse, Http404
# Create your views here.
def home(request, year="2018", month="01"):
return HttpResponse("獲取當(dāng)前頁面home時間標(biāo)簽:%s年/%s月" %(year, month)) 啟動服務(wù)后,,瀏覽器輸入地址:http://127.0.0.1:8000/archive/2018/10.html 正則匹配url上面的案例雖然可以實(shí)現(xiàn)從url上獲取參數(shù)了,,但是會遇到一個問題,年和月可以輸入各種數(shù)據(jù),,如:archive/2018/101.html,,很顯然不太合理。
from django.conf.urls import url
from django.urls import re_path, path
from hello import views
urlpatterns = [
# 匹配 archive/2018/10.html
path("archive/<year>/<month>.html", views.home),
url(r'^archive1/(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2}).html$', views.home1)
] hello.py/views.py視圖函數(shù)內(nèi)容 from django.shortcuts import render
from django.http import HttpResponse, Http404
# Create your views here.
def home(request, year="2018", month="01"):
return HttpResponse("獲取當(dāng)前頁面home時間標(biāo)簽:%s年/%s月" %(year, month))
def home1(request, year="2018", month="01"):
return HttpResponse("獲取當(dāng)前頁面home1時間標(biāo)簽:%s年/%s月" %(year, month)) 啟動服務(wù)后,瀏覽器輸入地址: urls.py中定義name的作用如果現(xiàn)在有一個home.html頁面,,還有一個demo.html頁面,,之前兩個頁面是獨(dú)立的不相干的,如果現(xiàn)在需要從home頁,,點(diǎn)個按鈕,,跳轉(zhuǎn)到demo.html該如何實(shí)現(xiàn),? hello/templates/home.html寫入以下內(nèi)容 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上海-悠悠</title>
<base target="_blank">
</head>
<body>
<p>歡迎來到django!
<br>
<br>
<a href="demo/">點(diǎn)這里到demo頁</a>
</p>
</body>
</html> hello/templates/demo.html寫入以下內(nèi)容 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo樣式</title>
</head>
<body>
<p>
<h4> 這是我的博客地址,可以百度搜:上海-悠悠 </h4>
<a target="_blank" >上海-悠悠-博客園</a>
<hr>
<h4> 《python自動化框架pytest》 </h4>
<p>pytest是最強(qiáng)大最好用的python自動化框架,,沒有之一,。本書詳細(xì)講解pytest框架使用方法,fixture功能是pytest的精髓,,書中有詳細(xì)的案例講解,。<br>
另外最后會有項(xiàng)目實(shí)戰(zhàn)代碼,靈活用到selenium自動化項(xiàng)目上,。<br>
pytest交流群874033608
</p>
<a target="_blank" >百度閱讀地址點(diǎn)此</a>
</p>
</body>
</html> hello/views.py文件 from django.shortcuts import render
from django.http import HttpResponse, Http404
# Create your views here.
def home(request):
return render(request, 'home.html')
def demo(request):
return render(request, 'demo.html') helloworld/urls.py文件內(nèi)容 from django.conf.urls import url
from django.urls import re_path, path
from hello import views
urlpatterns = [
url('^demo/$', views.demo),
url('^home/', views.home),
] 這樣就可以實(shí)現(xiàn)在home頁點(diǎn) 如果在頁面里面把url地址寫死了: from django.conf.urls import url
from django.urls import re_path, path
from hello import views
urlpatterns = [
url('^demo/$', views.demo, name="demo_page"),
url('^home/', views.home, name="home_page"),
] 把hello/templates/home.html跳轉(zhuǎn)的地址改成如下: <a href="{% url 'demo_page' %}">跳轉(zhuǎn)到demo頁面</a> django更多關(guān)于urls學(xué)習(xí)可以參考【https://docs./zh-hans/2.0/topics/http/urls/】 《python3自動化selenium+接口》(包教會) 報(bào)名費(fèi)2000一人(周期2個月) |
|