1
私はフォームのあるページを持っています。そのURLはDjangoのURLはどのように一致しますか?
url('tasks/searchBook', views.searchBook, name='searchBook'),
私は、フォームの送信ボタンをクリックしたとき、それは
url('tasks/searchBookResult/', views.searchBookResult, name='searchBookResult'),
このURLに行くべきURLがアドレスバーに変更されているが、次のHTMLファイルがレンダリングされていません。 しかし、urls.pyファイルでURLの場所を交換すると、2番目のURLを上に、最初のURLを下に置くと正常に動作します。
ここで何が起こっているか
urls.pyファイル:テンプレートファイルの
urlpatterns = [
url(r'^$', views.index, name='index'),
url('tasks/searchBook/', views.searchBook, name='searchBook'),
url('tasks/searchBookResult/', views.searchBookResult, name='searchBookResult'),
]
フォームコード:
<form action="{% url 'lms:searchBookResult' %}" method="post">
{% csrf_token %}
<div class="inner centerAlign">
<input type="text" id="bookId" name="bookId" placeholder="Book ID" class="inputField"></input>
</div>
<div class="inner centerAlign">
<label>OR</label>
</div>
<div class="inner centerAlign">
<input type="text" id="bookTitle" name="bookTitle" placeholder="Book Title" class="inputField"></input>
</div>
<div class=" inner centerAlign">
<input type="submit" value="Search" class="button button-primary" name="searchBook"></input>
</div>
</form>
views.py:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return render(request, 'lms/loginPage.html')
def searchBook(request):
return render(request,'lms/tasks/searchBook.html')
def searchBookResult(request):
return render(request,'lms/tasks/searchBookResult.html')
行の終わりを示し、あなたのURLの末尾に
$
を含めることができます。ありがとう。 – User42