我花了一整天的時間試圖修復這個錯誤,但我不知道該怎么做。我正在嘗試創建一個新的 Markdown 檔案,并在提交表單后將用戶重定向到新頁面。我嘗試更改 URL 名稱,嘗試更改變數名稱,但沒有任何效果。問題可能是 Django 在我的 URL 模式中添加了一個美元符號,但我不確定,因為我試圖給 URL 一個現有頁面的值。我將不勝感激對此問題的詳細解釋。我的意見.py:
def entry(request, entry):
entryPage = util.get_entry(entry)
if entryPage is None:
message = messages.warning(request, 'There is not a page with this name.')
return render(request, 'encyclopedia/error.html', {
'entryTitle': entry,
'message': message
})
else:
return render(request, 'encyclopedia/entry.html',{
'entry': markdowner.convert(entryPage),
'title': entry
})
def new(request):
if request.method == 'POST':
# Get the form
form = Post(request.POST)
if form.is_valid():
# Clean the form
title = form.cleaned_data['title']
lower_title = form.cleaned_data['title'].lower()
text = form.cleaned_data['textarea']
entries = util.list_entries()
# Check for existing entry
for entry in entries:
if lower_title == entry.lower():
message = messages.warning(request, "There is already a page with this name.")
context = {
'message': message,
"form": Search(),
"post": Post()
}
return render(request, 'encyclopedia/new.html',context)
# Create and redirect to new entry
else:
util.save_entry(title,text)
return HttpResponseRedirect(reverse("entry", args=[title]))
else:
return render(request, 'encyclopedia/new.html', {
"form": Search(),
"post": Post()
})
我收到的錯誤:
NoReverseMatch at /new
Reverse for 'entry' with arguments '('NewTitle',)' not found. 1 pattern(s) tried: ['entry$']
我的 urls.py:
from django.urls import path
from . import views
urlpatterns = [
path("", views.index, name="index"),
path("wiki/<str:entry>", views.entry, name="title"),
path("new", views.new, name="new"),
path("error", views.error, name="error"),
path("entry", views.entry, name="entry")
]
此外,當我檢查 Django Traceback 中的本地變數時,我沒有看到標題。這可能是因為迭代只執行一次,直到發生錯誤。
uj5u.com熱心網友回復:
您忘記entry在條目 URL 模式中添加引數:
urlpatterns = [
# …,
path('entry/<str:entry>/', views.entry, name='entry')
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/349983.html
標籤:姜戈 django-forms django-urls
上一篇:Express/Nodejs使用post方法從angular接收到未定義的json
下一篇:盡管解決了“django.core.excptions.ImproperlyConfigured:TheTEMPLATE_DIRSsettingmustbealistoratuple”錯誤,但串列和元
