【问题标题】:html forms to django [duplicate]django的html表单[重复]
【发布时间】:2012-01-16 00:55:09
【问题描述】:

可能重复:
python/django adder

我是 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 进行“链接/绑定”,我如何在不使用数据库的情况下创建这样的链接?

编辑:非常抱歉各位,我是从 The Djangobook 开始学习 django 的,他们没有像你们或文档那样清楚地解释它,我真诚的道歉

【问题讨论】:

  • 你的问题没有任何意义:尤其是最后几行。请修改。

标签: python html django


【解决方案1】:

好的,我将简单地回答这个问题,这样我们就可以完成这个问题,这个问题昨天也发布了。我不想在这里变得粗鲁,但您确实需要做一些研究,阅读一些教程等,提出一个没有真正意义的问题之前。我将表单的保存逻辑粘贴在视图中,以便您查看发生了什么。

#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>

【讨论】:

    【解决方案2】:

    您可以从阅读 django 教程开始,它清晰而简单地解释了如何更详细地执行您想要的操作,然后可以在此处提供给您。链接是https://docs.djangoproject.com/en/dev/intro/tutorial01/

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 2016-04-09
      • 2011-02-04
      • 1970-01-01
      相关资源
      最近更新 更多