Django - хрустящие формы не отображаются в браузере
Я новичок в django и работаю над проектом блога, но браузер не отображает мою форму на странице профиля. В частности, форма для обновления изображения профиля.
Вот мой код:
forms.py
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
# A class to specify the model the form is going to interact with
class Meta:
model = User
# Fields wanted in the form and in what order:
fields = ['username', 'email', 'password1', 'password2']
# A model form is a form that allows the creation of a form that will work with a specific database model
class UserUpdateForm(forms.ModelForm):
email = forms.EmailField()
class Meta:
model = User
fields = ['username', 'email']
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['image']
views.py
def register(request):
# If it gets a POST request then it instantiates a user creation form with that POST data
if request.method == 'POST':
# Create a form that has the request POST data:
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
messages.success(request, 'Your account was created. You are now able to log in')
return redirect('login')
# With any other request it creates an empty user creation form
else:
form = UserRegisterForm()
return render(request, 'users/register.html', {'form': form})
@login_required
def profile(request):
userUpdateForm = UserUpdateForm()
profileUpdateForm = ProfileUpdateForm()
context = {
'userUpdateForm': userUpdateForm,
'profileUpdateForm': profileUpdateForm
}
return render(request, 'users/profile.html', context)
profile.html
{% extends 'blog/base.html' %} {% load crispy_forms_tags %} {% block content %}
<div class="content-section">
<div class="media">
<img
class="rounded-circle account-img"
src="{{ user.profile.image.url }}"
/>
<div class="media-body">
<h2 class="account-heading">{{ user.username }}</h2>
<p class="text-secondary">{{ user.email }}</p>
</div>
</div>
<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Profile Info</legend>
{{ form|crispy }} {{ userUpdateForm|crispy }} {{ profileUpdateForm|crispy
}}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">Update</button>
</div>
</form>
</div>
{% endblock content %}
Первая форма UserUpdateForm отображается нормально. Вторая, ProfileUpdateForm, - нет.
Вместо этого отображается {{ profileUpdateForm|crispy }}.
Что я делаю неправильно? Заранее спасибо.
