Django 提交表单后重定向到另一个页面,并从输入字段中检索值
我是Django的新手,但知道一些东西,仍然需要你的帮助 我想当用户提交一个按钮后,把信息在搜索区域重定向到另一个页面,并接受数据供将来使用 到目前为止我所做的: 在模型中.pyDjango 提交表单后重定向到另一个页面,并从输入字段中检索值,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
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。请解释我需要做些什么来让它工作,因为我想让它们保持全局性,并与其他功能一起使用