Django ошибка

JollyBell

Новичок
Пользователь
Окт 14, 2020
11
0
1
Здравствуйте, пишу сайт и появилась данная ошибка. Сам код могу скинуть только в виде архива, так как там большое количество папок:https://drive.google.com/file/d/13XCy0sUMYL0O1HYcV7M7hsTGOouxxdWX/view?usp=sharing . Спасибо за понимание1607013320452.png
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
# Код вставляйте с помощью ... -> код -> 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.
Чтобы исправить нужно заменить строку:
Python:
urlspatterns = [
на такую
Python:
urlpatterns = [
После этого сервер django запустится, но стили в шаблоне отображаться не будут.
Они не отображаются из-за ошибки в файле шаблона base.html.
Чтобы исправить нужно строку:
HTML:
<link href="{% static 'css/main/base.css' %}" rel="stylesheet">
заменить на такую
HTML:
<link href="{% static 'main/css/base.css' %}" rel="stylesheet">
После этого стили будут отображаться.
Работу приложения sendemail не проверял - возможно там тоже есть ошибки.
 
  • Мне нравится
Реакции: Student

JollyBell

Новичок
Пользователь
Окт 14, 2020
11
0
1
1607164080646.png1607164099383.png
все равно ошибка есть, хотя все сделал так как вы сказали
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
все равно ошибка есть, хотя все сделал так как вы сказали
видимо не все сделали
покажите список INSTALLED_APPS из файла settings.py
скорее всего в строке 'accounts', не хватает запятой в конце
 
Последнее редактирование:

JollyBell

Новичок
Пользователь
Окт 14, 2020
11
0
1
Да, в конце просто не хватало запятой после accounts
 

Форум IT Специалистов