Python 向django密码重置表单添加样式
我想在django的默认密码重置表单中添加样式,例如类和占位符 我的url.py中有以下内容Python 向django密码重置表单添加样式,python,django,django-forms,django-views,django-templates,Python,Django,Django Forms,Django Views,Django Templates,我想在django的默认密码重置表单中添加样式,例如类和占位符 我的url.py中有以下内容 from django.urls import path from . import views from django.contrib.auth import views as auth_views urlpatterns = [ # Password reset paths path('password_reset/', auth_views.PasswordResetVie
from django.urls import path
from . import views
from django.contrib.auth import views as auth_views
urlpatterns = [
# 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>
试着用django脆饼
装置
将其添加到已安装的应用程序并选择样式:
INSTALLED_APPS = [
'crispy_forms',
]
CRISPY_TEMPLATE_PACK = 'bootstrap4'
加载标签
{% load crispy_forms_tags %}
现在您可以设计表单的样式了
{{ form|crispy }}
试着用django脆饼
装置
将其添加到已安装的应用程序并选择样式:
INSTALLED_APPS = [
'crispy_forms',
]
CRISPY_TEMPLATE_PACK = 'bootstrap4'
加载标签
{% load crispy_forms_tags %}
现在您可以设计表单的样式了
{{ form|crispy }}
尝试使用django crispy表单和/或django小部件调整尝试使用django crispy表单和/或django小部件调整使用crispy表单,下面是一篇解释得很好的文章
使用脆的形式,这里有一篇关于它的详细解释文章
是的,您当然可以覆盖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'),
是的,当然可以覆盖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'),
我找到了这个解决方案,但我正在检查django是否有其他方法用于此目的,而无需第三方材料,谢谢你的回答如果我找不到其他方法,我会使用它。我认为你需要在模板中加载crispy标记。我认为@Severy指出的是正确的。您可以通过更新widget字段来覆盖密码重置表单。我找到了这个解决方案,但我正在检查django是否有其他方法可以用于此目的,而不需要第三方的东西,谢谢你的回答。如果我找不到其他方法,我会用它。我认为你需要在模板中加载crispy标签。我认为@Severy指出的是正确的。你可以通过更新widget字段来覆盖密码重置表单。这是我一直在寻找的,我会在尝试时向上投票,谢谢。这是我一直在寻找的,我会在尝试时向上投票,谢谢