2016-03-05 80 views
1

有沒有一種方法可以根據url呈現HTML和內容不同,這樣我就不必手動添加視圖給每個人了?如何從URL獲取標籤並使用模板標籤顯示它(Django)

也許我解釋說這不好,我會告訴你,代碼:

url(r"^tag/<tag>/$", views.tag, name="tag"), 

當我進入domain.com/tag/mytag它將使HTML和<h1>與標籤。

那麼我如何在用戶輸入的標籤中顯示HTML模板?

我views.py:

def tag(request): 
    return render(request, "tag/tag.html") 
+0

你可以分享你的'views.py'文件以及相應的HTML模板嗎? – gtlambert

回答

3

你需要稍微改變你的網址。

url(r"^tag/(?P<tag>[\w-]+)/$", views.tag, name="tag"), 

然後爲您的視圖中的kwargs添加標籤,並將標籤傳遞給模板上下文。

def tag(request, tag): 
    return render(request, "tag/tag.html", {'tag': tag}) 

請注意,標籤只是來自url的文本。

這是一個非常基本的問題,您可能會發現通過涵蓋Django的這些部分的教程很有用。

+0

謝謝阿拉斯代爾。我會讀更多關於這個! –

0

可以使用(P?)來捕獲括號內的文字,並將其作爲參數傳遞自動將您的看法。

url(r"^tag/(?P.*)/$", views.tag, name="tag"), 

    def tag(request, tag): 
     return render(request, "tag/tag.html")