查看.py
@login_required(login_url='index', redirect_field_name=None)
def new_character(request):
if request.method == 'POST':
character_form = CharacterForm(request.POST)
if character_form.is_valid():
new_character = character_form.save(commit=False)
new_character.creator = request.user
new_character.save()
# If new_character has a primary key (pk) then it
# means it was saved to the database.
if new_character.pk:
# TODO: For some reason this doesn't work.
redirect('list_characters')
else:
character_form = CharacterForm()
return render(request, 'characters/new-character.html', {'character_form': character_form})
網址.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.list_characters, name='list_characters'),
path('new/', views.new_character, name='new_character'),
]
我檢查并被new_character.pk強制為 True。但是,重定向不會發生,而是只是重繪 了同一頁面。
uj5u.com熱心網友回復:
這里的問題是你沒有回傳redirect,這導致return render(request, 'characters/new-character.html'...被擊中,從:
redirect('list_characters')
到:
return redirect('list_characters')
應該解決問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/378549.html
下一篇:多選題資料庫模式設計
