Изменение названия проекта на Django
Всем привет. Прохожу обучение по одному курсу по Django. Там показывают, что ради удобства меняют название проекта. Например, создали проект на Django под названием: lamp, внутри автоматически создается подпапка lamp. И они просто меняют название проекта с lamp на lamp-project. Да, согласен, удобно, но теперь проект не запускается, так как пути к другим файлам исказились. Но у них всё нормально. Как так получилось?
P.S. Я делаю на Windows в Pycharm, на курсе делают в MacOS в Atom.
Ответы (1 шт):
Обычно меняют название внутренней папки с настройками проекта на config/, нежели переименовывают головную, потому-что если переименовать основную папку проекта lamp/ в lamp-project/, то это никак не повлияет на сами пути, всё будет работать. У вас получится папка lamp-project/, а в ней будет находится файл manage.py и папка lamp/ с настройками. Скорее всего, вы переименовали внутреннюю папку lamp/ с конфигурационными настройками в lamp-project/, тогда всё логично, что ваш проект перестал работать.
Теперь необходимо либо перенастроить свой проект, либо вернуть внутренней папке с настройками старое название. Для того чтобы перенастроить проект, необходимо поочередно зайти в файлы и поменять старое название lamp на новое lamp-project. Начинаем с settings.py:
ROOT_URLCONF = 'lamp-project.urls'
WSGI_APPLICATION = 'lamp-project.wsgi.application'
asgi.py:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lamp-project.settings')
wsgi.py:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lamp-project.settings')
теперь меняем настройки в самом файле manage.py:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lamp-project.settings')
как по мне это вкусовщина, но лучше уже тогда менять название на более понятное config, чем на lamp-project.
А так в PyCharm есть поиск по проекту, с помощью которого можно переименовать всё в автоматическом режиме, а не бегать по файлам и не править всё ручками, но это, как по мне, для "слабаков". С Atom я не знаком, но предполагаю, что там тоже есть подобный функционал.
