django-reverse()


使用背景:

改動了一些urls文件中的url地址,發現更改后需要去views里面尋找到底哪些redirect或者用到這些url的地方一一更改,

情緒由穩定->煩躁->試圖重構

reverse函數能做什么來挽救:

我們定義一個url大概

path("test/test/test/",views.test,name="test")

使用過name就知道,name就是為了我們更改url后,需要一處一處的更改前端我們的<a></a>,前端只需要

<a>"{url 'test'}"</a>

reverse就是通過url_name在后端完成反譯

fromfrom django.shortcuts import reverse,redirect

def test(request):
    test_url = reverse("test")
    return redirect(test_url)

這樣無論我如何更改url,還是通過name來指定

擴展-url不是簡單的路徑而是一個動態的路徑:

如果我們的url不是一個簡單的靜態url,而是一個帶着參數的url

path("url/<test1>-<test2>/",views.test,name="test")

沒事兒,我們的reverse也支持參數

reverse("test",kwargs={"test1":1,"test2":2})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM