Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 提交表单后重定向到另一个页面,并从输入字段中检索值_Django_Python 3.x - Fatal编程技术网

Django 提交表单后重定向到另一个页面,并从输入字段中检索值

Django 提交表单后重定向到另一个页面,并从输入字段中检索值,django,python-3.x,Django,Python 3.x,我是Django的新手,但知道一些东西,仍然需要你的帮助 我想当用户提交一个按钮后,把信息在搜索区域重定向到另一个页面,并接受数据供将来使用 到目前为止我所做的: 在模型中.py from django.db import models from django.contrib import auth class Child(models.Model): name = models.CharField(max_length=150, blank=True) from django i

我是Django的新手,但知道一些东西,仍然需要你的帮助

我想当用户提交一个按钮后,把信息在搜索区域重定向到另一个页面,并接受数据供将来使用

到目前为止我所做的:

模型中.py

from django.db import models
from django.contrib import auth


class Child(models.Model):
    name = models.CharField(max_length=150, blank=True)
from django import forms
from .models import Child

class ChildlForm(forms.ModelForm):
    class Meta:
        model = Child
        fields = ('name',)
from django.shortcuts import render
import numpy as np
import pandas as pd

def home(request):
    form = ChildForm()
    if request.method == "POST":
        form = ChildForm(request.POST)
        if form.is_valid():
            data = form.save(commit=True)
        else:
            return 'main/test.html'
        return render(request,'main/index2.html',{'name':data.name})
    return render(request,'main/index.html',{'form':form})
格式为.py

from django.db import models
from django.contrib import auth


class Child(models.Model):
    name = models.CharField(max_length=150, blank=True)
from django import forms
from .models import Child

class ChildlForm(forms.ModelForm):
    class Meta:
        model = Child
        fields = ('name',)
from django.shortcuts import render
import numpy as np
import pandas as pd

def home(request):
    form = ChildForm()
    if request.method == "POST":
        form = ChildForm(request.POST)
        if form.is_valid():
            data = form.save(commit=True)
        else:
            return 'main/test.html'
        return render(request,'main/index2.html',{'name':data.name})
    return render(request,'main/index.html',{'form':form})
在视图中.py

from django.db import models
from django.contrib import auth


class Child(models.Model):
    name = models.CharField(max_length=150, blank=True)
from django import forms
from .models import Child

class ChildlForm(forms.ModelForm):
    class Meta:
        model = Child
        fields = ('name',)
from django.shortcuts import render
import numpy as np
import pandas as pd

def home(request):
    form = ChildForm()
    if request.method == "POST":
        form = ChildForm(request.POST)
        if form.is_valid():
            data = form.save(commit=True)
        else:
            return 'main/test.html'
        return render(request,'main/index2.html',{'name':data.name})
    return render(request,'main/index.html',{'form':form})
“test.html”
是用户需要填写表单的地方。我希望在通知提交后,数据被保存,然后重定向到garden.html文件

test.html文件

<form method="POST">
    {{ form }}
    {% csrf_token %}
    <input class="form-control mr-sm-2" type="text">
    <button type="submit">OK</button>
  </form>
此外,你的代码中有一个输入错误

class ChildlForm(forms.ModelForm):

我运行了这段代码,效果很好。确保压痕处于正确的水平这里是一个工作样本嘿,我有我的最后一个问题,希望得到您的见解或任何帮助。我做了您所说的更改,正如您在view.py文件中看到的那样,在我发出命令的函数下,以股票代码的形式从yahoo finance返回输入,并从yahoo finance股票价格返回。我将名称放在括号中,并标识为变量:symbols=[name]。它应该返回“AAPL”中的输入变量,提取数据并在index2文件中显示值b。然而,它没有显示任何东西。你能解释一下问题是什么吗?问题是识别还是我需要定义一个新函数?我不想定义,因为我希望它是全局变量,以便我可以用于其他命令。您认为呢?视图将在到达返回语句时终止。因此,包含符号=[name]和以下的行是无法访问的逻辑。您需要将它们包含在return语句之前,并在context中传递所需的值。当我将它们放在def home()之前时,终端表示名称未定义。我对你的理解是正确的还是错误的?请参见上面的views.py。请解释我需要做些什么来让它工作,因为我想让它们保持全局性,并与其他功能一起使用