【发布时间】:2018-01-15 04:08:38
【问题描述】:
我是python的初学者。我正在尝试集成从以下网址安装的电话号码应用程序
https://github.com/stefanfoulis/django-phonenumber-field
参考网址是Good way to store phone numbers in django models
我在 settings.py 的已安装应用中添加了'phonenumber_field'。
forms.py 代码如下所示
from django import forms
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Div, Field
from ajax_select.fields import AutoCompleteSelectField, AutoCompleteField
from phonenumber_field.modelfields import PhoneNumberField
from . import models
class SignUpForm(forms.Form):
first_name = forms.CharField(max_length=30)
last_name = forms.CharField(max_length=30)
phone_number = PhoneNumberField()
注册 html
{% extends "account/base.html" %}
{% load i18n crispy_forms_tags %}
{% block head_title %}{% trans "Signup" %}{% endblock %}
{% block content %}
<h1>{% trans "Sign Up" %}</h1>
<p>{% blocktrans %}Already have an account? Then please <a href="{{ login_url }}">sign in</a>.{% endblocktrans %}</p>
<form class="signup" id="signup_form" method="post" action="{% url 'account_signup' %}">
{% csrf_token %}
{{ form|crispy }}
{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
<button class="btn btn-success" type="submit">{% trans "Sign Up" %} <span class="fa fa-chevron-right"></span></button>
</form>
{% endblock %}
但是在我的注册表单中没有显示电话字段。是不是我必须在模型中调用该函数而不是在表单中。
非常感谢任何帮助。
【问题讨论】:
-
请出示您的 html 模板
-
@BearBrown 我已经用 signup.html 代码编辑了帖子。
-
您还应该更新您的问题,以包括您使用“crispy”进行表单呈现这一事实。
-
你能不能把
{{ form|crispy }}换成{{ form.as_p }}看看就行了