# Код вставляйте с помощью
...
-> код -> Python.
Здравствуйте, пишу сайт и появилась данная ошибка
У вас в коде много ошибок.
Ошибка с вашего скриншота возникает потому что имена приложений в файле
settings.py
в списке
INSTALLED_APPS
указаны в короткой форме (
blog
,
accounts
), а для приложения sendemail вы указали
'sendemail.apps.SendemailConfig'
.
Нужно или указать просто
sendemail
или перенести строку
'sendemail.apps.SendemailConfig'
выше строк
'blog
',
'static'
,
'accounts'
.
Если исправите появится следующая ошибка:
TypeError: __init__() got an unexpected keyword argument 'wigdet'
Чтобы ее исправить нужно в файле
forms.py
в приложении
sendemail
заменить строку:
Python:
message = forms.CharField(label = 'Сообщение', required=True, wigdet = forms.Textarea)
на такую
Python:
message = forms.CharField(label = 'Сообщение', required=True, widget = forms.Textarea)
Потом появится ошибка:
ValueError: attempted relative import beyond top-level package
Она возникает из-за неправильно импорта в файле
views.py
в приложении
sendemail
.
Чтобы исправить поменяйте строку:
Python:
from ..mysite.settings import RECIPIENTS_EMAIL, DEFAULT_FROM_EMAIL
на такую
Python:
from django.conf import settings
и в строке
Python:
send_mail(f'{subject} от {form_email}', message,
RECIPIENTS_EMAIL, DEFAULT_FROM_EMAIL)
переменные поменяйте с использованием префикса settings
Python:
send_mail(f'{subject} от {form_email}', message,
settings.RECIPIENTS_EMAIL, settings.DEFAULT_FROM_EMAIL)
После исправления появится следующая ошибка:
Python:
django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'sendemail.urls' fro
m 'D:\\python\\Forum\\mysite\\sendemail\\urls.py'>' does not appear to have any patterns in it.
If you see valid patterns in the file then the issue is probably caused by a circular import.
Она возникает из-за опечатки в файле
urls.py
в приложении
sendemail
.
Чтобы исправить нужно заменить строку:
на такую
После этого сервер
django
запустится, но стили в шаблоне отображаться не будут.
Они не отображаются из-за ошибки в файле шаблона
base.html
.
Чтобы исправить нужно строку:
HTML:
<link href="{% static 'css/main/base.css' %}" rel="stylesheet">
заменить на такую
HTML:
<link href="{% static 'main/css/base.css' %}" rel="stylesheet">
После этого стили будут отображаться.
Работу приложения
sendemail
не проверял - возможно там тоже есть ошибки.