[英]Simple Math on One Webpage
我目前正在尝试做一些基本的事情,例如将用户输入的两个数字添加到页面上并在同一页面上显示结果,但我遇到了问题。
索引.html
{% extends "project_long_page/base.html" %}
{% block body %}
<form action="." method="POST">
{% csrf_token %}
{{ forms }}
<input type="submit">
</form>
{% endblock %}
视图.py
from django.shortcuts import render
import datetime
from django import forms
from django.shortcuts import render
class NewTaskForm(forms.Form):
num1 = forms.IntegerField(label="Number 1")
num2 = forms.IntegerField(label="Number 2")
# Create your views here.
def index(request):
return render(request, "project_long_page/index.html")
def add(request):
return render(request, "project_long_page/index.html", {
"form": NewTaskForm()
})
网址.py
from django.urls import path
from . import views
app_name = "project_long_page"
urlpatterns = [
path("", views.index, name="index")
]
当前网页 Output
所需网页 Output (同时保持输入的原始值)
如果您提供帮助,谢谢您的帮助:,)
编辑:
如果你想看到这个...
更新1:
使用来自@Marco 的代码(谢谢@Marco!)
def index(request):
if request.method == "POST":
form = NewTaskForm(request.POST)
if form.is_valid():
num1 = form.cleaned_data["num1"]
num2 = form.cleaned_data["num2"]
result = num1 * num2
context = {
"form": NewTaskForm(initial={"num1": num1, "num2": num2}),
"result": result
}
return render(request, "project_long_page/index.html", context)
form = NewTaskForm()
return render(request, "project_long_page/index.html", {"form": form})
更新索引。html
{% extends "project_long_page/base.html" %}
{% block body %}
<form action="." method="POST">
{% csrf_token %}
{{ form }}
<input type="submit">
<br>
The answer is {{ result }}!
</form>
{% endblock %}
将您的 index() 视图更改为:
def index(request):
if request.method == "POST":
form = NewTaskForm(request.POST)
if form.is_valid():
num1 = form.cleaned_data["num1"]
num2 = form.cleaned_data["num2"]
result = num1 * num2
context = {
"form": NewTaskForm(initial={"num1": num1, "num2": num2}),
"result": result
}
return render(request, "project_long_page/index.html", context)
form = NewTaskForm()
return render(request, "project_long_page/index.html", {"form": form})
然后将result
添加到您的模板中。
没有检查代码是否工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.