2016-05-07 2 views
11

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

Это порядок, в котором я нарисовал вверх по лестнице:

  1. Вилка и клонировать РЭПО
  2. Source виртуальной среды
  3. Пип установить requirements.txt
  4. Получить access_token и secret_key и хранить в secrets.sh
  5. Настройка базы данных Postgres, создание пользователя & база данных
  6. Migra te (?) - Вот где я застрял!

Я попытался выполнить миграцию приложения, но никаких миграций не требуется.

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

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

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

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

Спасибо!

+2

Почему вы запускаете 'startproject'? У вас уже есть проект! Какую ошибку вы получаете при запуске 'manage.py migrate'? – kaveh

+0

Я просто запускал 'startproject', потому что я не мог придумать что-нибудь еще, чтобы попробовать. Это ошибка, которую я получаю при запуске 'python manage.py migrate': Traceback (последний последний вызов): Файл« manage.py », строка 8, в от django.core.management import execute_from_command_line ImportError: Нет модуля с именем django.core.management – allardbrain

+0

Вы активировали свою виртуальную среду? – kaveh

ответ

11

Во-первых, вы получаете эту ошибку, потому что вы начинаете проект в том же каталоге, что и клонированного проекта, этот каталог уже содержит приложение с именем 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 ключ и добавить в секреты.ш

export SECRET_KEY='<secret_key>' 

добавить secrets.sh к .gitignore файлу

создать Postgres БД и добавить учетные данные 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 на вашем браузер для v iew приложение.

Я считаю, что это должно заставить приложение работать и работать на других машинах. Дайте мне знать, если вы застряли на любом из этих шагов, поэтому я делаю изменения, если нет, вы можете просто использовать его и добавить любую другую соответствующую информацию, которую я, возможно, не добавил.

+0

Спасибо, Бернард! Я никогда не создавал суперпользователя! Я собираюсь исправить это исправление прямо сейчас и сообщить вам, как это происходит. :-) – allardbrain

+0

СПАСИБО, Бернард! Это сработало! Я глубоко благодарен за вашу подробную помощь. – allardbrain

+0

Awesome. В любой момент!!! –

0

пытаются передать имя приложения к migrate команды:

manage.py migrate ig_miner_app 
+0

Это не сообщение об ошибке я получаю, когда я пытаюсь сделать это: Traceback (самый последний вызов последнего): File «manage.py», линия 8, в из django.core.management импорта execute_from_command_line ImportError: Нет Модуль названный django.core.management – allardbrain

0

Как вы сказали, как только вы клонировать репозиторий, вы должны установить требования

pip install -r requirements.txt 

После этого необходимо настроить базу данных. Добавьте данные в settings.py

После того, как это было сделано, и у вас есть ключи и секреты, вам нужно выполнить миграцию, а затем выполнить миграцию.

кд в каталог приложения и запустить

python manage.py makemigrations 

для создания файлов миграции для моделей, которые уже определены в кодах вы клонировали. после этого вам необходимо запустить

python manage.py migrate 

Чтобы применить миграции, которые фактически создают таблицы базы данных.

Теперь вы вносите изменения в модели или добавляете дополнительные модели или поля, вам нужно снова запустить последние две команды.

1

Эй @allardbrain и добро пожаловать в удивительный мир развития^_^

Хотя моя надежда, что эта проблема была решена теперь, если позволите, давайте вновь что-то реальное quick-- я уверен, другие сделали и, в настоящее время делают эту ошибку.

I tried 'django-admin startproject ig_miner_app . but am getting this error code:

"CommandError:" ядд ядд ядд ...

Django на самом деле имеет AMAZING документации.Ребята позади были на самом деле писатели и журналисты, а не ваши типичные ребята из CS.

Что я пытаюсь сказать, изучая что-то новое, прочитайте Документацию; запустите приложение To-Do. Вот почему ..

django-admin startproject 

Это уже выполнено, если вы тянете рабочую копию уже существующей заявки. Ваше беспокойство должно быть с этим файлом и в первую очередь ...

requirements.txt 

Это где devDependencies излагают свои требования, если вы будете, похожий на ваш основной

package.json 

Во всяком случае, я только сказав это, потому что я провел первые несколько лет своей карьеры упрямым и часто ловил себя, просматривая документы, и в конце дня создаю головные боли для себя и бедных ублюдков, которым поручено контролировать мою неуклюжую задницу :-) Великие времена. ..

Cheers Everyone

Смежные вопросы