[英]How to get the previous url (Django)
我有一個 Post model 需要某個類別才能添加到數據庫中,並且我希望自動生成該類別。 單擊 addPost 按鈕會將您帶到不同的頁面,因此將通過獲取上一頁 url 的一部分來確定類別。
有沒有辦法將上一頁 url 作為字符串獲取?
謝謝
編輯:我在這里添加了我的 AddPost 按鈕。
<aside class="addPost">
<article>
<form action="/Forum/addPost">
<input type="submit" name="submit" value="Add Post"/>
</form>
</article>
</aside>
您可以通過使用request.META['HTTP_REFERER']
來做到這一點,但如果只有您的標簽上一頁來自您的網站,它將存在,否則 META dict
中將沒有HTTP_REFERER
。 所以要小心並確保您使用的是.get()
表示法。
# Returns None if user came from another website
request.META.get('HTTP_REFERER')
注意:當 Django 1.10 是實際版本時,我給出了這個答案。 我不再使用 Django,所以我不知道這是否適用於 Django 2
您可以使用request.META.HTTP_REFERER
獲取引用 URL
更多信息在這里: https ://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META
我無法回答@tryingtolearn 評論,但對於未來的人,您可以使用request.META['HTTP_REFERER']
無需將其添加到您的上下文中,然后將其傳遞給模板,您可以直接將其放入模板中:
<a href="{{ request.META.HTTP_REFERER }}">Return</a>
更可靠的方法是在 Add Post 按鈕的 URL 中顯式傳遞類別。
在“views.py”中可以得到之前的url ,如下圖:
# "views.py"
from django.shortcuts import render
def test(request):
pre_url = request.META.get('HTTP_REFERER') # Here
return render(request, 'test/index.html')
也可以在Django模板中獲取之前的url ,如下圖:
{# "test/index.html" #}
{{ request.META.HTTP_REFERER }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.