0
ブートストラップをdjangoログインフォームに適用しようとしています。私は何時間もグーグルを磨いてきました。ほとんどすべての人がカスタムauthentication_form
をurls.py
に設定し、カスタムログインフォームのユーザー名とパスワードのフィールドをオーバーライドし、ウィジェットのattrs
パラメータを渡して同じことを言っています。私はこれを行ったが、djangoはまだ私の入力フィールドにフォームコントロールクラスを適用していません。私は何がうまくいかないのかよく分かりません。フォームはレンダリングされますが、ブートストラップスタイリングは適用されません。私はWidget Tweaksを使用し、私のテンプレートでカスタム "authentication_form"はブートストラップを適用しませんCSS
urls.py
from django.conf.urls import url
from django.contrib.auth.views import LoginView, LogoutView,
PasswordChangeView, PasswordChangeDoneView, \
PasswordResetView, PasswordResetDoneView,
PasswordResetConfirmView, PasswordResetCompleteView
from account.forms import LoginForm
from account.views import dashboard
urlpatterns = [
url(r'^$', dashboard, name='dashboard'),
url(r'^login/$', LoginView.as_view(), {'authentication_form':
LoginForm}, name='login'),
url(r'^logout/$', LogoutView.as_view(), name='logout'),
url(r'^password-change/$', PasswordChangeView.as_view(),
name='password_change'),
url(r'^password-change/done/$', PasswordChangeDoneView.as_view(),
name='password_change_done'),
url(r'^password-reset/$', PasswordResetView.as_view(),
name='password_reset'),
url(r'^password-reset/done/$', PasswordResetDoneView.as_view(),
name='password_reset_done'),
url(r'^password-reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-
Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
PasswordResetConfirmView.as_view(),
name='password_reset_confirm'),
url(r'^password-reset/complete/$',
PasswordResetCompleteView.as_view(),
name='password_reset_complete')
]
forms.py
from django.contrib.auth.forms import AuthenticationForm
from django.forms import CharField, TextInput, PasswordInput
class LoginForm(AuthenticationForm):
username = CharField(widget=TextInput(attrs={'class': 'form-
control'}))
password = CharField(widget=PasswordInput(attrs={'class': 'form-
control'}))
views.py
@login_required(
redirect_field_name=reverse_lazy('login'),
login_url=reverse_lazy('login'))
def dashboard(request):
return render(request, 'account/dashboard.html', {'section':
'dashboard'})
のような個人用CSSクラスを使用できます。ここで、views.pyのフォーム検証はですか?フォームが有効かどうかを確認してからデータを保存する必要があります。 – hansTheFranz
@ hasTheFranz私はある時点でそれを持っていましたが、スタイリングの問題を修正しようとしたときにそれを取り除きました –
ええ、それを元に戻してください。テンプレートにもフォームが表示されていますか?テンプレートで '{{form}}'を使用していますか? – hansTheFranz