django 後端反向生成url
阿新 • • 發佈:2019-02-06
from django.conf.urls import url
#取出app名字,和 models中的表名app_model_name = self.model_class._meta.app_label, self.model_class._meta.model_namepatterns = [ url(r'^$', self.wrapper(self.changelist_view), name="%s_%s_changelist" % app_model_name),url(r'^add/$', self.wrapper(self.add_view), name="%s_%s_add"
from django.urls import reverse
base_url = reverse('{0}:{1}_{2}_delete'.format(self.site.namespace,self.app_label, self.model_name), args=(pk,))
Django奉行的是DRY原則,所以使用這種方式,就無需對url地址進行硬編碼.在原本需要硬編碼url的地方,直接可以使用url的名字,然後逆向解析出url地址. Django提供了不同層面上的url解析方法.
- template檔案: 用url模板標籤
- python程式碼中可以使用django.core.urlresolvers.reverse()
- 其他get_absolute_url()