Django中url模板使用總結

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方法傳遞參數,在後臺獲取各參數的值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章