私はDjangoをかなり新しくしており、このエラーの原因を完全に突き止めています。私はたくさんの検索をしましたが、無駄です!どんな助けも非常に高く評価されます。フォームを使用するとDjangoのURLエラーが発生する
実際のフォームが正常に動作しますが、私がしようとすると、入力データを提出するとき、私はエラーを取得:
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', include('spirit3.urls')),
]
私のURL:個人用サイトのディレクトリに
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^admin/
^$ [name='home']
^patientlist [name='patient_list']
^patientdetail/(?P<pk>\d+)/$ [name='patient_detail']
^add_patient/$ [name='add_patient']
The current URL, spirit3/add_patient/, didn't match any of these.
私urls.pyは次のようになりますアプリの.pyは次のようになります。
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^patientlist', views.patient_list, name='patient_list'),
url(r'^patientdetail/(?P<pk>\d+)/$', views.patient_detail, name='patient_detail'),
url(r'^add_patient/$', views.add_patient, name='add_patient'),
]
views.pyの該当部分:
def add_patient(request):
if request.method == 'POST':
form = PatientForm(request.POST)
if form.is_valid():
form.save(commit=True)
return redirect('home')
else:
print form.errors
else:
form = PatientForm()
return render(request, 'spirit3/add_patient.html', {'form':form})
とHTMLは次のようになります。
{% extends 'spirit3/base.html' %}
{% block content %}
<body>
<h1> Add a Patient </h>
<form action="/spirit3/add_patient/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Create Patient" />
</form>
</body>
{% endblock %}
事前に感謝を! :)
アプリが「spirit3」と呼ばれているという理由だけで、URLがそれを使用するわけではありません。あなたはあなたが探している修正がわからないが、spirit3のURLを含むURLを変更することができます(文字列の連結として考える) – Sayse