【问题标题】:how to access forms field in django?如何访问 django 中的表单字段?
【发布时间】:2018-11-05 19:43:54
【问题描述】:

这是我的表格:

class signup_form(forms.ModelForm):
    bio = forms.TextInput()
    class Meta:
        model = User
        fields = ['username',
                  'password',
                  'first_name',
                  'last_name', 
                  'email',
                  'date_joined']

这是我的模板页面:

urlpatterns = [
    ......
    url(r'^profile/(?P<username>[\w\-]+)/$', user_profile, name='user_profile'),
]

这是注册模板页面:

{% extends parent_template|default:"tick/base_tick.html" %}

{% block title %}
{{ block.super }} ---> Sign Up HERE!!
{% endblock %}


{% block content %}
    <div>
        <div>
            <form action="{% url 'user_profile' username={{ form.username }} %}" method="post">
                {% csrf_token %}
                {{form.as_p}}
                <button type="submit">Create User</button>
            </form>
        </div>
    </div>
{% endblock %}

正如您在表单的“操作”部分中看到的,我想访问“表单”的“用户名”字段,但我不能,而且 Django 给我一些错误。

我该怎么办?

编辑:这是错误

【问题讨论】:

  • 请在此处发布 Django 错误。
  • @SHIVAMJINDAL 我将错误放在问题帖子中。我应该提到的一件事是,在添加 '' .value'' 之后没有任何改变。!!
  • @SHIVAMJINDAL 不幸的是它没有再次工作......!!
  • 我明天会更新我的答案

标签: python django forms web web-frameworks


【解决方案1】:

字段的值由 form.field_name.value 访问。使用可以通过以下代码更新您的代码

<form action="{% url 'user_profile' username=from.username.value %}" method="post">
    {% csrf_token %}
    {{form.as_p}}
    <button type="submit">Create User</button>
</form>

【讨论】:

  • 问题是 form.username.vale 最初有 '' 空白,并且在更新形式后它确实直接反映在 form.username.value 中。您应该在输入字段的onchange 事件上调用一个函数,并通过JS 更新action 属性。
猜你喜欢
  • 2012-11-08
  • 1970-01-01
  • 2019-03-10
  • 2021-09-05
  • 2016-12-24
  • 2015-06-25
  • 1970-01-01
  • 2011-03-13
  • 2021-10-18
相关资源
最近更新 更多