- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 allauth 通过电子邮件登录,并做了一个非常基本的自定义登录表单和 allauth 的模板覆盖并显示登录表单。点击 URL 会让我直接进入异常:
Failed lookup for key [html5_required] in [{'True': True, 'False': False, 'None': None}, {'True': True, 'False': False, 'None': None, 'form': , 'form_show_errors': True, 'form_show_labels': True, 'label_class': '', 'field_class': ''}, {'forloop': {'parentloop': {}, 'counter0': 1, 'counter': 2, 'revcounter': 2, 'revcounter0': 1, 'first': False, 'last': False}, 'field': }, {}]
[html5_required]
标签/ key ,但没有找到任何人丢失相同的 key 。
settings.py
中的自定义登录表单以查看是否存在问题,但这没有帮助。
INSTALLED_APPS = [
...
'crispy_forms',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google',
...
]
CRISPY_TEMPLATE_PACK = 'bootstrap4'
ACCOUNT_FORMS = {
"login": "users.forms.CustomLoginForm"
}
from django.utils.translation import ugettext as _
from django.urls import reverse_lazy
from allauth.account.forms import LoginForm, SignupForm
from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML
from django.forms import ModelForm
class CustomLoginForm(LoginForm):
def __init__(self, *args, **kwargs):
super(CustomLoginForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
# Add magic stuff to redirect back.
self.helper.layout.append(
HTML(
"{% if redirect_field_value %}"
"<input type='hidden' name='{{ redirect_field_name }}'"
" value='{{ redirect_field_value }}' />"
"{% endif %}"
)
)
# Add password reset link.
self.helper.layout.append(
HTML(
"<p><a class='button secondaryAction' href={url}>{text}</a></p>".format(
url=reverse_lazy('account_reset_password'),
text=_('Forgot Password?')
)
)
)
# Add submit button like in original form.
self.helper.layout.append(
HTML(
'<button class="btn btn-primary btn-block" type="submit">'
'%s</button>' % _('Sign In')
)
)
self.helper.form_class = 'form-horizontal'
self.helper.label_class = 'col-xs-2 hide'
self.helper.field_class = 'col-xs-8'
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-primary" type="submit">Login</button>
</form>
{% endblock %}
#in urls.py: path('profile/', views.profile_view, name='user_profile')
#forms.py:
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('gender', 'birthdate')
#view.py:
def profile_view(request, *args, **kwargs):
if request.method == "POST":
form = UserProfileForm(request.POST)
if form.is_valid():
profile = form.save(commit=False)
profile.user = request.user
#profile.author = request.user
#profile.published_date = timezone.now()
profile.save()
# TODO: add message or redirect ?!
else:
form = UserProfileForm()
return render(request, 'profile.html', {'form': form})
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<h2>Profile</h2>
<form method="post">
{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-primary" type="submit">Update</button>
</form>
{% endblock %}
最佳答案
我将其保留为“部分”答案,因为我不知道原因或区别(行为)是什么,但更改了对模板中表单的调用:
{{ form|crispy }}
{% crispy form %}
FormHelper
添加到表单中以进行其他修改。谢谢。
关于django - Crispy 表单抛出 VariableDoesNotExist 错误,无法在表单上查找键 [html5_required],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57454907/
检查 django-crispyforms 的 bootstrap3 模板包中的 field.html 模板,我注意到引用了一个额外的上下文变量“标签”。你可以在 line 12 上看到这个和 lin
我一直在 Crispy Forms 文档和一般网络上搜索这个问题的答案。 Crispy Forms 能否输出 是在使用 forms.Select 小部件的 ChoiceField 中吗?还是我必须将数
我在使用 django crispy 表单正确上传图像字段时遇到问题。表单和页面上的其他所有内容都可以正常工作,但图像字段不会出错或保存,它只是直接越过它。我可以很好地通过管理员添加图像,它只在我的
我想使用django-crispy-forms在单个行上组合两个(或更多)窗口小部件。另请参见所附示例。我认为应该可以使用该库,尽管文档中确实包含有关此问题的示例,并且源代码也无济于事。那么有人使用d
我对是否可以将初始数据设置为具有清晰表单的字段感到困惑。我有一个字段,我在其中生成一个数字并希望将其设置为特定字段。如果我这样做: def __init__(self, *args, **kwargs
根据django-crispy-form documentation ,我将能够使用 input-small 类更改输入宽度。但我的表单看起来宽度始终为 100%: 此外,如果我将 css_class
我研究了 Crispy-Forms 文档,并尝试在我的其中一个表单中添加一个额外的按钮。与 self.helper.add_input(Button('back', "Back", css_class
我正在尝试使用 Crispy Forms 使我的表单看起来不错。我的 forms.py 中有以下内容: from django import forms from .models import Tea
我有一个模型表单,我想在其中将 required 属性设置为 True 以进行电子邮件验证 字段:-email class RegisterMyBuisinessForm(forms.ModelFor
我们有一个清晰的表单,我们希望能够在表单 HTML 模板的不同部分呈现不同的字段,但是我们无法在 Crispy Documentation 中找到执行此操作的方法。 .下面是一些稍微编造的代码来说明我
我有一个单字段表单,我想将其水平对齐并居中放置。 我想启用自动对焦和占位符。 这是我的代码: class VinForm(forms.Form): VIN = forms.CharField(
我有点困惑。 https://github.com/carltongibson/django-filter/blob/develop/django_filters/rest_framework/bac
我正在 django 2.1 中开发应用程序并使用 bootstrap 4 这需要用户注册表格。在我看到的大多数示例中,都显示了单列表单的示例,这对于字段很少的表单来说已经足够了,但是对于更复杂的表单
我需要在我的ModelForm中添加一个“取消”按钮,我使用的是松脆的表单,但是当我添加href='personnel-index'重定向回 ListView 时,却没有。我已经检查了他们的文档,但在
我有以下 django 脆皮形式: class ConsultForm(forms.ModelForm): class Meta: model = Consults # You
我试图将字段标签放在表单的左侧,右侧有文本输入。但是,我似乎无法让它发挥作用。这是我放置的设置。 表单.py helper = FormHelper() helper.form_class = 'fo
这是我第一次使用crispy-forms,我正在尝试使用bootstrap 3基于ModelForm制作水平crispy-form。在模板的输出中显示“horizontal-form”,但显示“l
来自views.py: class EmployeeUpdateView(LoginRequiredMixin, UpdateView): model = Employee templ
我有一个脆弱的 django 表单。 当我使用 {% cripsy form %} 时,隐藏模板中字段标签的最佳方法是什么? 我不希望用户看到MY_FIELD_1和MY_FIELD_2。 class
我的 django-crispy-form 中有两个按钮 self.helper.add_input(Submit('submit', 'Submit')) self.helper.a
我是一名优秀的程序员,十分优秀!