簡體   English   中英

Django:模板{%url%}標記,如何從表單傳遞參數

[英]Django: Template {% url %} tag, how to pass parameter from form

有模板:

<form action="{% url 'nfoapp.views.kinoscrap' <I WANT MOVIE_ID THERE> selectshort.id %}" method="post">
<input type="text" class="form-control" name="MOVIE_ID">
<button type="submit" class="btn btn-danger">Kinopoisk Search by ID</button>
</form>

有我的urls.py:

(r'^kinoscrap/(?P<kinoid>\d+)/(?P<shortid>\d+)/$', kinoscrap),

我想傳遞給kinoscrap兩個參數-表單(MOVIE_ID)的文本字段和'selectshort.id'變量。 問題是我無法在模板的第一行中放入簡單的MOVIE_ID,但出現錯誤。 但是,當我嘗試放其他變量MOVIE_ID代替時,例如selectshort.id ,程序可以正常工作。

如何傳輸文本字段值進行查看?

ps我使用引導程序,如果它有一定的重要性。

您可以將表單操作清空為空,以便移至同一視圖,然后在視圖中使用表單中的POST數據重定向。

<form action="" method="post">
<input type="text" class="form-control" name="MOVIE_ID">
<button type="submit" class="btn btn-danger">Kinopoisk Search by ID</button>
</form>

然后在視圖中

def searchView(request):
    if request.method == 'POST':
        # get variables from form and redirect
    else:
        # do your normal rendering
(r'^kinoscrap/(?P<kinoid>\d+)/(?P<shortid>\d+)/$', kinoscrap),

您的urls.py接受url中的整數值(類似於kinnoscrap/12/21 ),如果您在整數旁邊傳遞任何內容,則會引發錯誤。 如果要傳遞文本字段,則必須更改正則表達式。

在這里regex101嘗試您的正則表達式,看看它們是否可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM