Я застрял с этой проблемой в течение нескольких дней.Я искал в Интернете и даже в стеке, но не смог найти решение, я был бы признателен за любую помощь, которую я могу получить в этом.Я очень плохо знаком с программированием и пытаюсь создать контактную форму, чтобы пользователи могли отправлять электронные письма зарегистрированным пользователям с помощью контактной формы.Когда я открывал страницу в браузере, отображались только «Отправить сообщение» и кнопка «Отправить».Фактическая форма не.
У меня есть следующие коды: PS, я импортировал все необходимые модули.
forms.py:
class ContactForm(forms.Form):
contact_name = forms.CharField(required=True)
contact_email = forms.EmailField(required=True)
content = forms.CharField(
required=True,
widget=forms.Textarea
)
views.py:
def profile_contact(request):
if request.method == 'POST':
pc_form = ContactForm(request.POST)
if pc_form.is_valid():
sender_name = pc_form.cleaned_data['contact_name']
sender_email = pc_form.cleaned_data['contact_email']
message = "{0} has sent you a new message:\n\n{1}".format(sender_name, pc_form.cleaned_data['content'])
send_mail('New Enquiry', message, sender_email, ['enquiry@exampleco.com'])
return redirect('home')
else:
pc_form = ContactForm()
return render(request, 'contact_profile.html', {'form': pc_form})
urls.py:
path('profile_contact/', user_view.profile_contact, name='profile_contact'),
contact_profile.html:
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content-section">
<form action="" method="POST">
<fieldset class="form-group">
<legend class="border-bottom mb-4">Send your message</legend>
{% csrf_token %}
{{ pc_form | crispy }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info"
type="submit">Submit</button>
</div>
</form>
</div>
{% endblock %}
Спасибо за помощь.