在模板中直接新增『/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 ...