django 模板中url的處理

2022-04-06 03:26:00 字數 927 閱讀 5425

在模板中直接新增『/home』這樣的鏈結是十分不推薦的,因為這是乙個相對的鏈結,在不同網頁中開啟可能會返回不一樣的結果。

所以推薦的是

}

這種方式,或者

這裡第二種方式同時需要在urls.py中設定,

url(r'^article/(?p[0-9]+)/$', article, name='article'),

同時對應的article_view應該有2個引數(request, pk)

get_absolute_url是乙個方法,需要在model裡宣告一下;下面是官方的推薦使用方式

不推薦

# 不推薦

def get_absolute_url(self):

return "/people/%i/" % self.id

# 推薦

def get_absolute_url(self):

from django.core.urlresolvers import reverse

return reverse('people.views.details', args=[str(self.id)])

# 不推薦

def get_absolute_url(self):

return '/%s/' % self.name

}a>

# 推薦

}a>

更具體的可以參考一下

這裡作者使用了「偽靜態url」,get_absolute_url方法如下:

def get_absolute_url(self):

return '%s/%s.html' % (settings.domain, self.alias)

Django 中url補充以及模板繼承

預設值 在url寫路由關係的時候可以傳遞預設引數,如下 url r index views.index,這樣在檢視函式中,就可以獲取這個預設引數name 命名空間 通過下面例子理解 在專案的urls裡寫入如下 urlpatterns url r a include namespace author ...

Django 中url補充以及模板繼承

預設值 在url寫路由關係的時候可以傳遞預設引數,如下 url r index views.index,這樣在檢視函式中,就可以獲取這個預設引數name 命名空間 通過下面例子理解 在專案的urls裡寫入如下 urlpatterns url r a include namespace author ...

Django 中url補充以及模板繼承

預設值 在url寫路由關係的時候可以傳遞預設引數,如下 url r index views.index,這樣在檢視函式中,就可以獲取這個預設引數name 命名空間 通過下面例子理解 在專案的urls裡寫入如下 urlpatterns url r a include namespace author ...