【问题标题】:How to display user submitted values from django forms in the same HTML page如何在同一 HTML 页面中显示来自 django 表单的用户提交的值
【发布时间】:2020-12-08 14:42:00
【问题描述】:

我想在同一个 HTML 页面中显示用户提交的值。我能够显示这些值,但它采用 python 字典格式。我得到了结果:'first_name': 'Tom', 'last_name': 'Hanks'},有没有办法分别只显示名字和姓氏。

这是views.py:

from django.shortcuts import render
from django import forms


class DbNames(forms.Form):
    first_name = forms.CharField(label="First Name")
    last_name = forms.CharField(label="Last Name")


def index(request):
    return render(request, "emp/index.html")


def form_gen(request):
    form = DbNames()
    if request.method == "POST":
        form = DbNames(request.POST)
        if form.is_valid():
            return render(request, "emp/users.html", {
                "form_data": form.cleaned_data
            })
        else:
            print('ERROR')
    return render(request, "emp/users.html", {
        "result": form
    })

【问题讨论】:

标签: python html django django-forms web-frameworks


【解决方案1】:
def form_gen(request):
    form = DbNames()
    if request.method == "POST":
        
        form = DbNames(request.POST)
        if form.is_valid():
            # Because form.cleaned_data return a dict
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            return render(request, "emp/users.html", {
                "first_name": first_name, "last_name": last_name,
            })
        else:
            print('ERROR')
    return render(request, "emp/users.html", {
        "result": form
    })

并在您的模板中访问这些值 "emp/users.html" 在您的情况下。您可以像这样使用 django-template-language 语法:

<p>{{ first_name }} </p>
<p>{{ last_name }}</p>

【讨论】:

    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 2021-11-02
    • 2023-04-01
    • 2013-03-05
    • 1970-01-01
    • 2013-01-01
    • 2020-09-11
    • 1970-01-01
    相关资源
    最近更新 更多