前提:
~~~
url(r'^app/', include('app.urls',namespace='app')),
url('^relation',views.relation,name='relation'),
~~~
模板函數中的反向解析:
~~~
<a href="{% url 'app:relation' %}">相對路徑3</a>
~~~
無論url怎么改變,只要視圖函數的名稱不變,模板都可以反向解析到該視圖函數。
若url中是非關鍵字參數:
~~~
url('^bbb/(\d+)/(\d+)/(\d+)',views.bbb,name='bbb'),
~~~
反向解析按照順序傳參數:
~~~
<a href="{% url 'app:bbb' 2099 99 99 %}">相對路徑4</a>
~~~
若url中是關鍵字參數:
~~~
url('^ccc/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)',views.ccc,name='ccc'),
~~~
反向解析可以不按照順序傳參數,但傳參時要寫關鍵字:
~~~
<a href="{% url 'app:ccc' month=10 day=13 year=2000%}">相對路徑5</a>
~~~
視圖函數重定向的反向解析:
~~~
url('^fromHere',views.fromHere),
url('^toHere',views.toHere,name='toHere'),
~~~
視圖函數中的寫法:
~~~
def fromHere(request):
return redirect(reverse('app:toHere'))
def toHere(request):
return HttpResponse('到這啦')
~~~
這樣無論url中的toHere怎么改變,只要視圖函數名叫toHere就可以重定向到它。
若url中是非關鍵字參數:
~~~
url('^fromHere',views.fromHere),
url('^toHere/(\d+)/(\d+)/(\d+)',views.toHere,name='toHere'),
~~~
視圖函數中的寫法:
~~~
def fromHere(request):
return redirect(reverse('app:toHere',args=(2018,8,8)))
def toHere(request,year,month,day):
return HttpResponse(str(year) + "年"+str(month) +"月"+str(day)+"日")
~~~
若url中是關鍵字參數:
~~~
url('^fromHere',views.fromHere),
url('^toHere/(?P<year>\d+)/(?P<month>\d+)/(?P<day>\d+)',views.toHere,name='toHere'),
~~~
視圖函數中的寫法:
~~~
def fromHere(request):
return redirect(reverse('app:toHere',kwargs={"year":2020,"month":10,"day":10}))
def toHere(request,year,month,day):
return HttpResponse(str(year) + "年"+str(month) +"月"+str(day)+"日")
~~~
- Python學習
- Python基礎
- Python初識
- 列表生成式,生成器,可迭代對象,迭代器詳解
- Python面向對象
- Python中的單例模式
- Python變量作用域、LEGB、閉包
- Python異常處理
- Python操作正則
- Python中的賦值與深淺拷貝
- Python自定義CLI三方庫
- Python并發編程
- Python之進程
- Python之線程
- Python之協程
- Python并發編程與IO模型
- Python網絡編程
- Python之socket網絡編程
- Django學習
- 反向解析
- Cookie和Session操作
- 文件上傳
- 緩存的配置和使用
- 信號
- FBV&&CBV&&中間件
- Django補充
- 用戶認證
- 分頁
- 自定義搜索組件
- Celery
- 搭建sentry平臺監控
- DRF學習
- drf概述
- Flask學習
- 項目拆分
- 三方模塊使用
- 爬蟲學習
- Http和Https區別
- 請求相關庫
- 解析相關庫
- 常見面試題
- 面試題
- 面試題解析
- 網絡原理
- 計算機網絡知識簡單介紹
- 詳解TCP三次握手、四次揮手及11種狀態
- 消息隊列和數據庫
- 消息隊列之RabbitMQ
- 數據庫之Redis
- 數據庫之初識MySQL
- 數據庫之MySQL進階
- 數據庫之MySQL補充
- 數據庫之Python操作MySQL
- Kafka常用命令
- Linux學習
- Linux基礎命令
- Git
- Git介紹
- Git基本配置及理論
- Git常用命令
- Docker
- Docker基本使用
- Docker常用命令
- Docker容器數據卷
- Dockerfile
- Docker網絡原理
- docker-compose
- Docker Swarm
- HTML
- CSS
- JS
- VUE