繁体   English   中英

Django 1.9.4从表单获取输入数据以显示到另一个模板中

[英]Django 1.9.4 Get input data from form to show into a different template

这是我认为与这种情况有关的代码。 抱歉,我是django的新手。

views.py

from django.http import HttpResponseRedirect
from django.shortcuts import render

from .forms import SearchForm

def result_one(request):
        return render(request, "testresult.html", {})

def get_results(request):
    if request.method == 'POST':
        form = SearchForm(request.POST)
        if form.is_valid():
           return HttpResponseRedirect('/result/')
    else:
        form = SearchForm()
    return render(request, 'index.html', {'form': form})

urls.py

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^search/$', "search.views.get_results"),
    url(r'^result/$', "search.views.result_one"),
]

表格

from django import forms

class SearchForm(forms.Form):
    client_group_number=forms.IntegerField(label='Group Number', widget=forms.TextInput(attrs={'placeholder': 'Group Number'}))

根据我的理解,我认为应该发生的是将输入内容放入html页面。 当用户点击“提交”时,输入将作为数据保存到form.py中。 该数据在views.py中进行操作,该views.py显示在另一个html页面中。 (我希望这是正确的)

我想要它做的是从index.html(例如123)输入client_group_number(在forms.py中)的输入,可以在views.py中访问它并显示在另一个我称为testresult的html模板中。 html,它将显示组号= 123(123来自forms.py或views.py)。

这可能是一件非常简单的事情,如果可以,我深表歉意,但是我似乎无法在互联网上找到我需要的东西。

Django验证cleaned_data字典中的表单输入数据。 您将需要将此参数作为重定向中的参数或使用会话传递给新模板。 这是一个简单的示例,可以告诉您一个想法,也许有更好的方法。

if form.is_valid():
  group_number = form.cleaned_data["client_group_number"]
  HttpResponseRedirect("/result/?group_number=" + group_number)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM