Python django的html表单
可能重复:Python django的html表单,python,html,django,Python,Html,Django,可能重复: 我是django的新手,我尝试创建一个网站,将我的号码(从一个html输入)添加/减去到另一个 因此,我在views.py中尝试了这一点: def calc(request): try: i1 = int(request.GET['i1']) i2 = int(request.GET['i2']) except MultiValueDictKeyError: raise Http404() u = i
我是django的新手,我尝试创建一个网站,将我的号码(从一个html输入)添加/减去到另一个 因此,我在views.py中尝试了这一点:
def calc(request):
try:
i1 = int(request.GET['i1'])
i2 = int(request.GET['i2'])
except MultiValueDictKeyError:
raise Http404()
u = i2 + i1
return ("answer.html", u)
我还向其他一些人展示了这一点,他们告诉我制作一个到html的“链接/绑定”,我如何在不使用数据库的情况下制作这样的链接
编辑:我很抱歉,伙计们,我从django手册开始学习django,他们没有像你们或文档那样清楚地解释它,我真诚的道歉你们可以从阅读django教程开始,它清楚地简单地解释了如何做你们想做的事情,然后可以在这里提供给你们。链接是好的,我将简单地回答这个问题,这样我们就可以解决这个问题,昨天也发布了这个问题。我不想在这里无礼,但在问一个毫无意义的问题之前,你真的需要做一些研究,阅读一些教程,等等。我将表单的保存逻辑粘贴到视图中,以便您可以看到发生了什么
#forms.py
from django import forms
class AdditionForm(forms.Form):
first_number = forms.IntegerField()
second_number = forms.IntegerField()
#views.py
from django.shortcuts import render
from [your_app].forms imort AdditionForm
def calc(request):
form = AdditionForm(request.POST or None)
answer = None
if request.method == 'POST':
if form.is_valid():
first_number = form.cleaned_data.get('first_number', 0)
second_number = form.cleaned_data.get('second_number', 0)
answer = first_number + second_number
return render(request, 'some-file.html', {'form' : form, 'answer' : answer})
#some-file.html
<html>
<head>
<title>Simple Calculator</title>
</head>
<body>
<form action="." method="post" enctype="application/x-www-form-urlencoded">
<fieldset>
<ol>
{{ form.as_ul }}
<li><input type="submit" value="Add the Numbers" />
</ol>
</fieldset>
</form>
{% if answer %}
<p>Your answer was: {{ answer }}</p>
{% endif %}
</body>
</html>
#forms.py
来自django导入表单
类添加表单(forms.Form):
first_number=forms.IntegerField()
第二个数字=forms.IntegerField()
#views.py
从django.shortcuts导入渲染
从[您的应用程序].forms imort AdditionForm
def计算(请求):
表单=添加表单(request.POST或None)
答案=无
如果request.method==“POST”:
如果form.is_有效():
first\u number=form.cleaned\u data.get('first\u number',0)
second\u number=form.cleaned\u data.get('second\u number',0)
答案=第一个号码+第二个号码
返回呈现(请求'some file.html',{'form':form,'answer':answer})
#some-file.html
学生用函数计算器
{{form.as_ul}}
{%if-answer%}
你的答案是:{{answer}
{%endif%}
你的问题毫无意义:尤其是最后几行。请修改。