首页 > 解决方案 > Django - 提交表单后无法呈现数据

问题描述

我是 Django 的初学者。首先,我想实现一个表单并在提交表单后在 from 字段下方显示基本数据。

这是我的表格:

class UserIdForm(forms.Form):
    user1 = forms.CharField(label='User 1 Id', max_length=100)
    user2 = forms.CharField(label='User 2 Id', max_length=100)

这是网址配置:

urlpatterns = [path('', views.check_rights),]

这是我的看法:

def check_rights(request):
    form = UserIdForm()
    template_name = 'user_rights/user_form.html'
    #user1 = form.cleaned_data['user1']
    #user2 = form.cleaned_data['user1']
    user1 = 'toto'
    ctx = {'form': form,'user1': user1, 'user2':'titi'}
    return render(request, template_name, ctx)

是的 2 行已注释。目前,如果我能够提交表单(效果很好),我想显示硬编码值(此处为“toto”)

最后这是我的模板:

<body>
<h1>Compare user rights</h1>
<br>
<form action="" method="get" type="text">
    {{ form }}
    <input type="submit" value="Submit">
</form>

{% if user1 %}
    <p>
        User 1 rights are {{ user1 }}
    </p>
{% endif %}

提交表单后,我可以在浏览器的 url 栏中看到 [...]/user_rights/?user1=user1r&user2=user2r 。

我不明白为什么当我提交表单时我看不到:“用户 1 权限是 toto”(从长远来看,我的目标是查询数据库并在页面中显示 2 个用户的权限)

有人可以帮我理解为什么我在提交表单后无法在页面中看到“用户 1 权限是 toto”吗?

标签: djangoformstemplatesrender

解决方案


推荐阅读