【发布时间】:2018-03-25 21:25:00
【问题描述】:
我正在使用 CreateView1 启动 Estate 实例。它工作正常,即使它是一个模板视图!现在我想被重定向到 UpdateView2 并更新这些字段(我有一个很好的理由)。如何将实例 1 的 pk 传递给第二个视图,以及如何编辑这些字段?任何帮助将不胜感激!
views.py
class CreateView1 (TemplateView):
template_name = 'estate_form1.html'
def get(self,request):
form = RegisterForm()
args = {'form': form,}
return render(request, self.template_name, args)
def post(self,request):
form = RegisterForm(request.POST)
if form.is_valid():
estate = form.save(commit=False)
estate.save()
form = RegisterForm()
return redirect('register:update2')
args = {'form': form,}
return render(request, self.template_name, args)
class UpdateView2(UpdateView):
template_name = 'estate_form2.html'
model = Estate
fields = ["price", "area"]
estate_form1.html 和 Estate_form2.html
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
forms.py
class RegisterForm(forms.ModelForm):
price = forms.IntegerField(label="Price:")
area = forms.IntegerField(label="Area:")
Class Meta:
model = Estate
fields = ('price', 'area')
已经感谢您的支持!
【问题讨论】:
-
你使用的是哪个版本的 Django?
-
从您的重定向代码来看,它看起来像 2.0。
-
你能发布你的 urls.py 文件吗?