如何解决如何将提交的表单中的字段传递到 Django 中的 url?
我正在尝试提交表单,保存到数据库,然后在新的 url 上显示cleaned_data。在表单中,我有一个名为 job_number 的字段。我想将cleaned_data发送到127.0.0.1:8000/quotes/job_number
引用/views.py:
@login_required
def quote_view(request):
data_form = QuoteinformationForm()
if request.method == "POST":
data_form = QuoteinformationForm(request.POST)
if data_form.is_valid():
data_form.save(commit=True)
return redirect('quote')
else:
print('Error')
return render(request,"index.html",{'data_form': data_form})
@login_required
def submitted_quote(request):
return render(request,"quote.html")
urls.py:
urlpatterns = [
path('home/',quote_view,name='home'),path('quote/',submitted_quote,name='quote'),
目前所做的只是使用 index.html 在 http://127.0.0.1:8000/home/ 打开表单。当我提交时,它会将信息发送到数据库并将我重定向到 http://127.0.0.1:8000/quotes。这可以。现在我只需要在这个 url 上显示清理过的数据并更改 url 以在末尾包含 job_number。我该怎么做?
解决方法
您需要像这样更改网址格式:
urlpatterns = [
path('home/',quote_view,name='home'),path('quote/<int:job_number>/',submitted_quote,name='quote'),]
和 submit_quotes():
@login_required
def submitted_quote(request,job_number):
job = # Get Your job
return render(request,"quote.html",{"job":job})
和:
@login_required
def quote_view(request):
data_form = QuoteInformationForm()
if request.method == "POST":
data_form = QuoteInformationForm(request.POST)
if data_form.is_valid():
data_form.save(commit=True)
return redirect('quote{}'.format(data_form.id))
else:
print('Error')
return render(request,"index.html",{'data_form': data_form})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。