最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django web框架使用url path name詳解

 更新時(shí)間:2019年04月29日 09:24:29   作者:農(nóng)夫  
這篇文章主要介紹了Django web框架使用url path name詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

quicktool/view.py文件修改視圖函數(shù)index(),渲染一個(gè)home.html模板

from django.shortcuts import render
def index(request):
  return render(request, 'home.html')

quicktool(應(yīng)用app)下創(chuàng)建一個(gè)templates文件夾(模板),在templates下創(chuàng)建一個(gè)home.html

<!DOCTYPE html>
<html>
<head>
  <title>學(xué)習(xí)Django</title>
</head>
<body>

<a href="/add2/4/5/" rel="external nofollow" rel="external nofollow" >計(jì)算 4+5</a>

</body>
</html>

mytestsite/urls.py文件將視圖函數(shù)index()對(duì)應(yīng)的網(wǎng)址取名name為home(只要這個(gè)名字不變,網(wǎng)址變了也能通過名字獲取到)

urlpatterns = [
  path('admin/', admin.site.urls),
  path('', quicktool_views.index, name='home'), # 新增name值
  path('add/', quicktool_views.add, name='add'), # 新增
  path('add2/<int:a>/<int:b>/', quicktool_views.add2, name='add2'),  # 新增
]

運(yùn)行開發(fā)服務(wù)器,訪問http://127.0.0.1:8000/,可以看到

點(diǎn)擊標(biāo)簽a會(huì)執(zhí)行腳本進(jìn)行計(jì)算,但是home.html中代碼a標(biāo)簽的url是"寫死"的,我們可以通過url的name傳參,home.html增加以下代碼

#不帶參數(shù)的:
#{% url 'name' %}
#帶參數(shù)的:參數(shù)可以是變量名
#{% url 'name' 參數(shù) %}

<a href="/add2/4/5/" rel="external nofollow" rel="external nofollow" >計(jì)算 4+5</a>
<a href="{% url 'add2' 70 80 %}" rel="external nofollow" >計(jì)算 70+80</a>  # 新增

運(yùn)行開發(fā)服務(wù)器,訪問http://127.0.0.1:8000/,可以看到

點(diǎn)擊第一個(gè)a標(biāo)簽跳轉(zhuǎn)請(qǐng)求的url為http://127.0.0.1:8000/add2/4/5/

點(diǎn)擊第二個(gè)a標(biāo)簽跳轉(zhuǎn)請(qǐng)求的url為http://127.0.0.1:8000/add2/70/80/

第二個(gè)a標(biāo)簽的寫法是根據(jù)url name 值傳參進(jìn)行跳轉(zhuǎn),即根據(jù)mytestsite/urls.py文件的url path()的屬性值name匹配,再傳相應(yīng)的參數(shù)值,進(jìn)行"不寫死"請(qǐng)求。

在url path()的屬性值name不修改的前提下,修改url path()的第一個(gè)路徑參數(shù),那么a標(biāo)簽獲取的網(wǎng)址也會(huì)動(dòng)態(tài)相應(yīng)變化。

比如

path('add2/<int:a>/<int:b>/', quicktool_views.add2, name='add2'), 

改成

path('add2/<int:a>/<int:b>/', quicktool_views.add2, name='add2'), 

除此,還需要寫一個(gè)跳轉(zhuǎn)到新地址的函數(shù),Django并不會(huì)自動(dòng)更新跳轉(zhuǎn)地址

例如舊的地址收藏夾為/add2/4/5/,訪問時(shí)就會(huì)自動(dòng)跳轉(zhuǎn)到新的/new_add2/4/5/

具體操作是,在quicktool/view.py文件寫一個(gè)跳轉(zhuǎn)函數(shù)

from django.shortcuts import render
from django.http import HttpResponseRedirect
def old_add2_redirect(request, a, b):
  return HttpResponseRedirect(
    reverse('add2', args=(a, b))
  )

mytestsite/urls.py文件新增url

path('new_add2/<int:a>/<int:b>/', quicktool_views.add2, name='add2'), # 新地址
path('add2/<int:a>/<int:b>/', quicktool_views.old_add2_redirect),  # 舊地址

訪問http://127.0.0.1:8000/,刷新后,可以看到

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python判斷變量名是否合法的方法示例

    Python判斷變量名是否合法的方法示例

    今天小編就為大家分享一篇關(guān)于Python判斷變量名是否合法的方法示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python?Conda安裝包報(bào)錯(cuò):PackagesNotFoundError兩種解決方法

    Python?Conda安裝包報(bào)錯(cuò):PackagesNotFoundError兩種解決方法

    這篇文章主要給大家介紹了關(guān)于Python?Conda安裝包報(bào)錯(cuò):PackagesNotFoundError的兩種解決方法,這通常意味著安裝程序正在尋找的環(huán)境包沒有在 conda 的默認(rèn)通道中找到,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Python學(xué)習(xí)之if 條件判斷語(yǔ)句

    Python學(xué)習(xí)之if 條件判斷語(yǔ)句

    篇文章主要介紹了Python if 條件判斷語(yǔ)句,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 如何更改 pandas dataframe 中兩列的位置

    如何更改 pandas dataframe 中兩列的位置

    如何更改 pandas dataframe 中兩列的位置?今天小編就為大家介紹兩種操作方法,希望對(duì)大家有所幫助,還等什么?一起跟隨小編過來看看吧
    2019-12-12
  • 基于Django框架的權(quán)限組件rbac實(shí)例講解

    基于Django框架的權(quán)限組件rbac實(shí)例講解

    今天小編就為大家分享一篇基于Django框架的權(quán)限組件rbac實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python建立多元回歸方程的實(shí)現(xiàn)

    Python建立多元回歸方程的實(shí)現(xiàn)

    在Python中,可以使用scikit-learn和statsmodels等庫(kù)來建立多元線性回歸模型,本文主要介紹了Python建立多元回歸方程的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Pytorch中view函數(shù)實(shí)例講解

    Pytorch中view函數(shù)實(shí)例講解

    這篇文章主要給大家介紹了關(guān)于Pytorch中view函數(shù)的相關(guān)資料,PyTorch中的.view()函數(shù)是一個(gè)用于改變張量形狀的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Python+Django實(shí)現(xiàn)簡(jiǎn)單HelloWord網(wǎng)頁(yè)的示例代碼

    Python+Django實(shí)現(xiàn)簡(jiǎn)單HelloWord網(wǎng)頁(yè)的示例代碼

    本文主要介紹了Python+Django實(shí)現(xiàn)簡(jiǎn)單HelloWord網(wǎng)頁(yè)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python實(shí)現(xiàn)一個(gè)完整學(xué)生管理系統(tǒng)

    Python實(shí)現(xiàn)一個(gè)完整學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何利用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀妫?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-01-01
  • 解決python3.6用cx_Oracle庫(kù)連接Oracle的問題

    解決python3.6用cx_Oracle庫(kù)連接Oracle的問題

    這篇文章主要介紹了解決python3.6用cx_Oracle庫(kù)連接Oracle的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

永和县| 巴彦淖尔市| 浦城县| 揭西县| 平武县| 德阳市| 三亚市| 安宁市| 五大连池市| 华宁县| 建德市| 九龙县| 苍南县| 铜梁县| 赤城县| 钟祥市| 凌源市| 汉阴县| 华坪县| 中宁县| 秭归县| 安多县| 新营市| 新河县| 普兰店市| 青州市| 越西县| 乳源| 微博| 宁德市| 临海市| 江山市| 七台河市| 金乡县| 格尔木市| 晋州市| 石景山区| 天峻县| 荥经县| 陇川县| 沂源县|