我正在嘗試通過 URL 發送引數并嘗試在串列視圖中使用它。但在我看來,我無法得到它。我知道我犯了一些愚蠢的錯誤,但找不到。
這是我在模板中使用的鏈接:
<a class="dropdown-item" href="{% url 'listarmateriales' tipolista='metales' %}">Ver metales
這是我的 url.py:
path('listarmateriales/<tipolista>',listarmateriales.as_view(), name='listarmateriales'),
這就是我試圖在我的views.py中獲得“tipolista”的地方:
類listarmateriales(ListView):
template_name = 'materiales/materialeslist.html'
def get_queryset(self):
if self.request.GET.get('tipolista') is not None:
lista=Materiales.objects.all()
tipolista=self.request.GET.get('tipolista' '')
if tipolista=='metales':
Do whatever...
else:
我嘗試了一些不同的sintaxis,但結果總是一樣,我看不懂“tipolista”,我花了很多時間,太多了。我知道這一定很容易,但是,我是新手。提前致謝
uj5u.com熱心網友回復:
這些不是GET 引數,而是 URL 引數。這些存盤在 中self.kwargs,因此您可以通過以下方式訪問它們:
def get_queryset(self):
lista = Materiales.objects.all()
tipolista = self.kwargs['tipolista']
if tipolista=='metales':
# …
else:
# …
這些不可能None,因為它們的存在是為了“激發”觀點。
uj5u.com熱心網友回復:
你可以看看
現在讓我們學習如何在 Django 中實作它。
如何從 Django 中的 URL 獲取引數 Django URL 傳遞引數以查看模板中的 Django URL 引數 從 Django 示例中的 URL 獲取引數 路徑轉換器 Django Django URL 引數字串 Django URL slug 引數
the link - https://pythonguides.com/get-url-parameters-in-django/
uj5u.com熱心網友回復:
為了使 urls.py 將tipolista 識別為字串變數,您應該將tipolista 作為視圖引數傳遞。所以,你的視圖函式應該是這樣的:
def get_queryset(self, tipolista):
if self.request.GET.get('tipolista') is not None:
lista=Materiales.objects.all()
if tipolista=='metales':
#...
else:
#...
在您的 url 模式中,tipolista 必須以 'str' 開頭:
path('listarmateriales/<str:tipolista>',listarmateriales.as_view(), name='listarmateriales'),
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/425906.html
上一篇:正則運算式爆炸網址
