Подтвердить что ты не робот

Как запустить клонированный проект Django?

Я младший инженер-программист, и я совсем новичок в Django. Я создал это приложение и работаю над README, чтобы объяснить другим, как создавать, клонировать и настраивать приложение на своих компьютерах. Я застрял при попытке воссоздать шаги.

Это порядок, в котором я разработал шаги:

  1. Вилка и клон репо
  2. Источник виртуальной среды
  3. Требования к установке Pip.txt
  4. Получите access_token и secret_key и сохраните в secrets.sh
  5. Установите базу данных Postgres, создайте пользователя и базу данных
  6. Миграция (?) - вот где я застреваю!

Я пытался перенести приложение, но не применимо.

Я попробовал 'django-admin startproject ig_miner_app. но я получаю этот код ошибки:

"CommandError: /Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py уже существует, наложение проекта или приложения в существующий каталог не заменит конфликтующие файлы"

Если я смогу разобраться с этим, я просто смогу запустить сервер как обычно, верно?

Я уверен, что что-то упустил (или многие вещи), но не знаю, что это такое. Я чувствую себя глупо, потому что я, очевидно, был в состоянии создать приложение в первую очередь, но не могу понять, как объяснить кому-то еще то же самое! Есть ли какие-либо предложения о том, как заставить сервер работать?

Спасибо!

4b9b3361

Ответ 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