为了账号安全,请及时绑定邮箱和手机立即绑定

向 django 密码重置表单添加样式

向 django 密码重置表单添加样式

阿波罗的战车 2023-08-22 10:14:43
我想向 django 的默认密码重置表单添加样式,例如类和占位符我的 urls.py 中有以下内容from django.urls import pathfrom . import viewsfrom django.contrib.auth import views as auth_viewsurlpatterns = [    # Password reset paths    path('password_reset/', auth_views.PasswordResetView.as_view(template_name="main/password_reset.html"),name="reset_password"),    path('password_reset_sent/', auth_views.PasswordResetDoneView.as_view(template_name="main/password_reset_sent.html"),name="password_reset_done"),    path('reset_password/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name="main/reset_password.html"),name="password_reset_confirm"),    path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(template_name="main/reset_password_complete.html"),name="password_reset_complete"),]在模板中<form action="" method="POST">            {% csrf_token %}            {{form}}            <input type="submit" name="Send email" class="btn btn-primary" >        </form>
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

是的,当然你可以覆盖 django 表单。


# forms.py


from django.contrib.auth.forms import PasswordResetForm


class UserPasswordResetForm(PasswordResetForm):

    def __init__(self, *args, **kwargs):

        super(UserPasswordResetForm, self).__init__(*args, **kwargs)


    email = forms.EmailField(label='', widget=forms.EmailInput(attrs={

        'class': 'your class',

        'placeholder': 'your placeholder',

        'type': 'email',

        'name': 'email'

        }))


# urls.py


from .forms import UserPasswordResetForm


path('password_reset/', auth_views.PasswordResetView.as_view(

    template_name='main/password_reset.html',

    form_class=UserPasswordResetForm),name='password_reset'),


查看完整回答
反对 回复 2023-08-22
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

尝试使用django-crispy-forms。


安装


pip install django-crispy-forms

将其添加到您的 INSTALLED_APPS 并选择样式:


INSTALLED_APPS = [

'crispy_forms',

]

CRISPY_TEMPLATE_PACK = 'bootstrap4'

加载标签


{% load crispy_forms_tags %}

现在您可以设置表单的样式


{{ form|crispy }}

    


查看完整回答
反对 回复 2023-08-22
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

尝试使用 django-crispy-forms 和/或 django-widget-tweaks



查看完整回答
反对 回复 2023-08-22
?
www说

TA贡献1775条经验 获得超8个赞

使用 Crispy Forms,这里有一篇关于它的详细解释的文章 CrispyForms


查看完整回答
反对 回复 2023-08-22
  • 3 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信