python - 无法使用 Bootstrap 设置 Django 默认登录表单的样式
问题描述
当我尝试在自定义 forms.py 文件中使用引导程序设置 Django 默认登录模板的样式时,它不起作用。没有错误,但我仍然看到默认的未设置样式的登录表单。
换句话说,LoginView 似乎根本没有使用 AuthenticationForm。
登录.html
<body>
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Login</button>
</form>
</body>
</html>
表格.py
from django import forms
from django.contrib.auth.forms import AuthenticationForm
class LoginForm(AuthenticationForm):
username = forms.CharField(widget=forms.TextInput(
attrs={'class':'form-control'}))
password = forms.CharField(widget=forms.PasswordInput(
attrs={'class':'form-control'}))
网址.py
from django.contrib import admin
from django.urls import include
from django.urls import path
from django.contrib.auth.views import LoginView
from django.contrib.auth import views
from myProject.forms import LoginForm
urlpatterns = [
path("admin/", admin.site.urls),
path('accounts/login/', LoginView.as_view(),{'template_name':'registration/login.html','authentication_form':LoginForm}),
path('login/', LoginView.as_view(template_name='registration/login.html'),{'authentication_form':LoginForm})
我已经尝试了几件事,包括对上面的“accounts/login/”和“login/”路径使用不同的语法,因为我认为这可能是我的问题,但没有任何区别。
我在 Docker 中运行它,所以每当我进行更改时,我都会这样做:
Docker compose down
Docker compose up
一旦服务器重新启动,我就会看到更改。
感谢期待。
解决方案
尝试重写您的代码,如下所示:
表格.py
class LoginForm(AuthenticationForm):
username = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control'}))
password = forms.CharField(widget=forms.PasswordInput(attrs={'class':'form-control'}))
def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs)
网址.py ...
path('accounts/login/', LoginView.as_view('template_name':'registration/login.html','form_class':LoginForm}),
path('login/', LoginView.as_view('template_name':'registration/login.html','form_class':LoginForm}),
其余的似乎都很好。
推荐阅读
- reactjs - 如何在单击状态下更改所选项目的 css -- React Native
- python-3.x - plt.plot() 在尝试绘制熊猫系列或数据框时无限运行
- django - Django CreateView中的自动完成地址填写
- rust - 我可以从 Actix-Web 中间件获取响应正文并对其进行修改吗?
- macos - 可以使用在 64 位 macOS 上运行的 carbon api
- c++ - 如何编写自定义删除器来处理前向声明的类型
- node.js - 节点猫鼬更新两个集合
- c# - 用户控件在运行时未添加到 TableLayoutPanel
- c# - 如何使用 C# 中的“System.Runtime.Serialization.Json”类反序列化带有字符串数组的 JSON?
- c# - RegEx 不适用于 DocuSign 进行文本验证