@Dato38it

Почему django ругается когда добавляешь просто библиотеку в Settings?

Когда я пытаюсь использовать любую вообще библиотеку в settings.py, для применения изменений перезагружаю Сервер, и у меня выходит ошибка на сайте dato138it.ru:80:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@dato138it.ru to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Apache/2.4.52 (Ubuntu) Server at dato138it.ru Port 80

Причем, если запустить локально через команду
python /var/www/thost/manage.py runserver dato138it.ru:5000 &

То браузер запустит по этому адресу dato138it.ru:5000
А началось все с того что У меня был django проект. Раньше мне приходилось постоянно после перезагрузки набирать выше команду, чтобы запустить сайт на сервере.
поэтому я настроил Apache, чтобы, поумолчанию, открывался сайт dato138it.ru:80 - прописал Config Apache, прописал настройки iptables, чтобы по умолчанию он запускал по порту 380.
Вот настройки Apache:
<VirtualHost *:380>
    ServerAdmin admin@dato138it.ru
    ServerName dato138it.ru
    ServerAlias www.dato138it.ru
    DocumentRoot /var/www/thost
    ErrorLog ${APACHE_LOG_DIR}/dato138it.ru_error.log
    CustomLog ${APACHE_LOG_DIR}/dato138it.ru_access.log combined
    Alias /static /var/www/thost/static
    <Directory /var/www/thost/static>
        Require all granted
    </Directory>
    Alias /media /var/www/thost/media
    <Directory /var/www/thost/media>
         Require all granted
    </Directory>
    <Directory /var/www/thost/dato138it>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    WSGIDaemonProcess dato138it python-path=/var/www/thost python-home=/var/www/thost/pyenv
    WSGIProcessGroup dato138it
    WSGIScriptAlias / /var/www/thost/dato138it/wsgi.py
</VirtualHost>

А вот настройки iptables которые я добавил:
# Generated by iptables-save v1.8.7 on Sun Jul 21 04:48:39 2024
*filter
:INPUT DROP [111:5001]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22,380 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Jul 21 04:48:39 2024
# Generated by iptables-save v1.8.7 on Sun Jul 21 04:48:39 2024
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i tethernet -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j DNAT --to-destination 188.225.34.21:380
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A POSTROUTING -o tethernet -j MASQUERADE
COMMIT
# Completed on Sun Jul 21 04:48:39 2024

Все хорошо запускалось. пока не стал использовать еще библиотеки в django. Ошибка выше. Например, мне надо было использовать dotenv
вот настройки settings:
from pathlib import Path
import os
from dotenv import load_dotenv
from django.contrib.messages import constants as messages
env_path = Path('.') / '.env'
load_dotenv(dotenv_path=env_path)
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['188.225.34.21', 'dato138it.ru']
# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'portfolio',
    #'ckeditor',
    #'ckeditor_uploader',
    'django_ckeditor_5',
]
...
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/5.0/howto/static-files/
STATIC_URL = '/static/'
#STATICFILES_DIRS = [
#    os.path.join(BASE_DIR, "static"),
#]
STATIC_ROOT=os.path.join(BASE_DIR, 'static/')
# Default primary key field type
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
MEDIA_URL = "/media/"
MEDIA_ROOT = BASE_DIR / "media/"
#MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
...

Где искать лог файла? И как устранить такую ошибку? Что я сделал не так? почему ругается на добавление библиотеки?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@Dato38it Автор вопроса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы