Как запустить клонированный проект Django?
Я младший инженер-программист, и я совсем новичок в Django. Я создал это приложение и работаю над README, чтобы объяснить другим, как создавать, клонировать и настраивать приложение на своих компьютерах. Я застрял при попытке воссоздать шаги.
Это порядок, в котором я разработал шаги:
- Вилка и клон репо
- Источник виртуальной среды
- Требования к установке Pip.txt
- Получите access_token и secret_key и сохраните в secrets.sh
- Установите базу данных Postgres, создайте пользователя и базу данных
- Миграция (?) - вот где я застреваю!
Я пытался перенести приложение, но не применимо.
Я попробовал 'django-admin startproject ig_miner_app. но я получаю этот код ошибки:
"CommandError: /Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py уже существует, наложение проекта или приложения в существующий каталог не заменит конфликтующие файлы"
Если я смогу разобраться с этим, я просто смогу запустить сервер как обычно, верно?
Я уверен, что что-то упустил (или многие вещи), но не знаю, что это такое. Я чувствую себя глупо, потому что я, очевидно, был в состоянии создать приложение в первую очередь, но не могу понять, как объяснить кому-то еще то же самое! Есть ли какие-либо предложения о том, как заставить сервер работать?
Спасибо!
Ответы
Ответ 1
Во-первых, вы получаете эту ошибку, потому что вы запускаете проект в том же каталоге, что и клонированный проект, этот каталог уже содержит приложение с именем ig_miner_app
, следовательно, конфликт имен.
Что касается шагов по запуску проекта другими пользователями, это должно работать.
клонировать проект
git clone https://github.com/erinallard/instagram_miner.git
создать и запустить виртуальную среду
virtualenv env --no-site-packages
source env/bin/activate
Установите зависимости проекта:
pip install -r requirements.txt
создать файл с именем "secrets.sh"
touch secrets.sh
(mac и linux)
получить секрет из MiniWebTool и добавить в secrets.sh
export SECRET_KEY='<secret_key>'
добавить secrets.sh в .gitignore файл
создайте postgres db и добавьте учетные данные в settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_name',
'USER': 'name',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
затем запустите
python manage.py migrate
создать учетную запись администратора
python manage.py createsuperuser
затем
python manage.py makemigrations ig_miner_app
для makemigrations для приложения
затем снова запустите
python manage.py migrate
чтобы запустить сервер разработки
python manage.py runserver
и откройте localhost: 8000 в вашем браузере, чтобы просмотреть приложение.
Я считаю, что это должно заставить приложение работать и работать на других машинах. Дайте мне знать, если вы застряли на любом из этих шагов, поэтому я делаю изменения, если нет, вы можете просто использовать его и добавить любую другую соответствующую информацию, которую я, возможно, не добавил.
Ответ 2
Эй @allardbrain и добро пожаловать в чудесный мир развития ^ _ ^
В то время как я надеюсь, что эта проблема была решена к настоящему времени, если позволите, вернемся к чему-то реальному быстрому - я уверен, что другие сделали и в настоящее время делают эту ошибку.
Я попытался запустить django-admin startproject ig_miner_app. но я получаю этот код ошибки:
"CommandError:" yadda yadda yadda...
У Django действительно УДИВИТЕЛЬНАЯ Документация. Ребята позади были на самом деле писатели и журналисты, а не ваши типичные ребята из CS.
Я пытаюсь сказать, что, изучая что-то новое, читайте Документацию; запустите приложение To-Do. Вот почему..
django-admin startproject
Это уже выполнено, если вы извлекаете рабочую копию ранее существующего приложения. Ваша проблема должна быть в этом файле в первую очередь...
requirements.txt
Вот где devDependances заявляют о своих требованиях, если хотите, подобно вашему базовому
package.json
В любом случае, я говорю только это, потому что я провел первые несколько лет своей карьеры упрямой и часто ловил себя скользя через документы и, в конце концов, создавая головную боль для себя и бедных ублюдков, которым поручено наблюдать за ходом моей неуклюжую ass:-) Великие времена, те...
Приветствия всех
Ответ 3
попробуйте передать имя приложения команде migrate
:
manage.py migrate ig_miner_app
Ответ 4
Как вы сказали, как только вы клонируете репо, вам необходимо установить требования
pip install -r requirements.txt
После этого вам нужно настроить базу данных. Добавьте данные в settings.py
Как только это будет сделано, и у вас есть ключи и секреты, вы должны выполнить миграцию и затем выполнить миграцию.
cd в каталог приложения и запустите
python manage.py makemigrations
создать файлы миграции для моделей, уже определенных в кодах, которые вы клонировали. после этого вам нужно запустить
python manage.py migrate
чтобы применить миграции, которые фактически создают таблицы базы данных.
Теперь вы делаете какие-либо изменения в моделях или добавляете дополнительные модели или поля, вам нужно снова запустить последние две команды.
Ответ 5
Я делаю следующие шаги после клонирования проекта из GitHub:
pip3 install virtualenv
virtualenv -p python3 env
source env/bin/activate
pip install django
django-admin startproject <mysite>
python manage.py startapp polls
python manage.py runserver
on terminal: python manage.py makemigrations <app_name>
python manage.py migrate
Они прекрасно работают в моей системе.
Ответ 6
Кажется, моя IDE автоматически активирует venv, если он находится в каталоге проекта, что постоянно приводило к ошибке при клонировании из git.
ModuleNotFoundError: No module named ''
Мне пришлось вручную удалить исходный venv и создать новый виртуальный env, а затем запустил эти команды. Работал как PyCharm после :)
pip install -r requirements.txt
python manage.py collectstatic