日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python动态映射_Python Django框架url反向解析实现动态生成对应的url链接示例

發布時間:2024/9/27 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python动态映射_Python Django框架url反向解析实现动态生成对应的url链接示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Python Django框架url反向解析實現動態生成對應的url鏈接。分享給大家供大家參考,具體如下:

url反向解析:根據url路由規則,動態生成對應的url鏈接 (防止硬編碼)。

url反向解析應用在兩個地方:模板中的超鏈接,視圖中的重定向。

項目名/urls.py(項目的url路由配置,url反向解析,取namespace名字):

from django.conf.urls import include, url

from django.contrib import admin

urlpatterns = [

url(r'^admin/', include(admin.site.urls)),

url(r'^', include('booktest.urls', namespace='booktest')), # 為對應的應用中的url路由定義namespace名字。

]

應用名/urls.py(應用的url路由配置,為url路由取name名字):

from django.conf.urls import url

from booktest import views

urlpatterns = [

url(r'^index$', views.index, name='index'), # url反向解析,取name名字。

url(r'^show_args/(\d+)/(\d+)$', views.show_args, name='show_args'), # 捕獲位置參數

url(r'^show_kwargs/(?P\d+)/(?P\d+)$', views.show_kwargs, name='show_kwargs'), # 捕獲關鍵字參數

]

應用名/views.py(視圖,視圖函數中使用url反向解析):

from django.shortcuts import render,redirect

from django.core.urlresolvers import reverse # url反向解析

# 視圖函數。 視圖函數中使用url反向解析,動態生成對應的url。

def test_redirect(request):

# 重定向到/index

# url = reverse('booktest:index')

# 重定向到/show_args/1/2 url中有位置參數

# url = reverse('booktest:show_args', args=(1,2)) # url中拼接位置參數

# 重定向到/show_kwargs/3/4 url中有關鍵字參數

url = reverse('booktest:show_kwargs', kwargs={'c':3, 'd':4}) # url中拼接關鍵字參數

return redirect(url)

# return redirect('/index')

templates/應用名/demo.html(模板文件,模板中使用url反向解析):

url反向解析

url反向解析動態生成index鏈接:

首頁

url中傳遞位置參數,動態產生/show_args/1/2:

url中傳遞位置參數

url中傳遞關鍵字參數:/show_kwargs/3/4:

url中傳遞關鍵字參數

在模板文件中使用url反向解析,格式如下:

{% url 'namespace名字:name名字' %} 例如 {% url 'booktest:fan2' %}

帶位置參數:

{% url 'namespace名字:name名字' 位置參數 %} 例如 {% url 'booktest:fan2' 1 %}

帶關鍵字參數:

{% url 'namespace名字:name名字' 關鍵字參數 %}? 例如 {% url 'booktest:fan2' id=1 %}

視圖中使用url反向解析(可用于重定向):

from django.core.urlresolvers import reverse

無參數:

reverse('namespace名字:name名字')

如果有位置參數

reverse('namespace名字:name名字', args = 位置參數元組)

如果有關鍵字參數

reverse('namespace名字:name名字', kwargs=字典)

希望本文所述對大家基于Django框架的Python程序設計有所幫助。

總結

以上是生活随笔為你收集整理的python动态映射_Python Django框架url反向解析实现动态生成对应的url链接示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。