Django中url模板使用總結
1.簡單正則匹配
使用方法
template.html<a href="{% url 'list_delete' i.id %}">刪除</a> <a href="{% url 'list_modify' i.id %}">修改</a>
urls.py
url(r'^index/list_delete/(?\d+)/$',list_delete,name='list_delete'), url(r'^index/list_modify/(?\d+)/$',list_modify,name='list_modify')
views.py
def list_delete(request, id: ...
說明
在Django中一個url的跳轉可以不需要通過通過JS來完成,我們可以在url.py中定義這個url的路徑,添加相應正則表達式匹配相應id來完成批量的連接跳轉定義。這樣就會生成類似/index/list_modify/4/
這樣的url,id號由數據庫的數據來定。最後可以在view.py中引用id這個變量,來完成特定操作
2.結構固定帶參數的url
使用方法
template.html<a href="{% url 'daily_report' year=2016 month=9 %}"> <a href="{% url 'daily_report' 2016 9 %}">
urls.py
url(r'^index/daily_report/(?P<year>\d+)/(?P<month>\d+)/$',daily_report,name='daily_report'),
views.py
def daily_report(request, year, month): ...
- 說明
結構固定的url模板編寫如上所示,需要注意的是,template中參數可以根據Key值指定也可以按照順序填寫。
3.結構不固定帶參數的url
使用方法
template.html<a href="{% url 'query' %}?database=db...">
urls.py
url(r'^query$', 'query', name='query')
views.py
def query(request): database = request.GET.get('database') ...
- 說明
當url結構不固定是,則採用GET方法傳遞參數,在後臺獲取各參數的值。