這是models.py我的課:(Django)如何將兩個url映射到一個視圖?
class Person(models.Model):
name = models.CharField(max_length=64)
persnr = models.AutoField(primary_key=True)
這是我的看法:
def show_person(request, persnr):
pers = get_object_or_404(Person, pk=persnr)
context={'pers':pers}
return render(request, 'company/person.html', context)
這是我的網址:
url(r'^show_person/(?P<persnr>\d+)', "company.views.show_person", name='show_person'),
我怎樣才能得到相同的觀點(show_person)與這兩個網址:
server/show_person/(persnr)
server/show_person/(name)
是什麼阻止你創建捕獲名稱的另一個網址?除了當然這不會工作,因爲該視圖期待PK,所以目前還不清楚爲什麼你會希望這兩個URL都轉到相同的視圖。 –
我嘗試過,但不知道如何解決與預期pk – Dannad
錯誤,我建議不要使用相同的URL有兩個相同的頁面。你應該選擇一個你喜歡的,然後重定向另一個。例如,將'show_person/123'設置爲'show_person/john-smith'。 – Anonymous