如何运行克隆的Django项目?

时间:2016-05-07 21:43:40

标签: python django git github django-admin

我是初级软件工程师,对Django来说很新。我构建了this app并正在编写自述文件,向其他人解释如何在自己的计算机上分叉,克隆和设置应用程序。在尝试重新创建步骤时我遇到了困难。

这是我制定步骤的顺序:

  1. 分叉并克隆回购
  2. 来源虚拟环境
  3. Pip install requirements.txt
  4. 获取access_token和secret_key并存储在secrets.sh
  5. 设置Postgres数据库,创建用户&数据库
  6. 迁移(?) - 这就是我被卡住的地方!
  7. 我尝试迁移应用,但没有要应用的迁移。

    我试过'django-admin startproject ig_miner_app。但我收到此错误代码:

    “CommandError:/Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py已经存在,将项目或应用程序覆盖到现有目录中将不会替换冲突的文件”

    如果我可以解决这个问题,我应该能够正常运行服务器,对吧?

    我确定我错过了某些东西(或许多东西),但不知道它们是什么。我觉得很傻,因为我显然能够首先创建应用程序,但无法弄清楚如何向其他人解释同样的事情!有没有关于如何让服务器运行的建议?

    谢谢!

7 个答案:

答案 0 :(得分:21)

首先,您收到该错误是因为您在与克隆项目相同的目录中启动项目,此目录已包含名为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数据库并将凭据添加到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

为应用程序制作数据

然后再次运行

python manage.py migrate

启动开发服务器

python manage.py runserver

并在浏览器上打开localhost:8000以查看该应用。

我相信这应该让应用程序在其他人的计算机上运行。如果您遇到任何这些步骤,请告诉我,以便我进行编辑,如果没有,您可以使用它并添加我可能没有添加的任何其他相关信息。

答案 1 :(得分:1)

嘿@allardbrain欢迎来到奇妙的发展世界^ _ ^

虽然我希望现在已经解决了这个问题,但如果可以的话,让我们快速重新审视一下 - 我确信其他人已经做出了,并且目前正在犯这个错误。

  

我试过'django-admin startproject ig_miner_app。但我收到此错误代码:

“CommandError:”yadda yadda yadda ...

Django实际上有令人惊叹的文档。背后的人实际上是作家和记者而不是典型的CS人。

我想说的是,在学习新知识时,请阅读文档;浏览To-Do App教程。这就是为什么..

django-admin startproject

如果要提取预先存在的应用程序的工作副本,则已经满意。您首先应关注此文件......

requirements.txt

这是devDependencies陈述他们的要求的地方,如果你愿意的话,与你的基本

相似
package.json 

无论如何,我只是这样说,因为我在职业生涯的最初几年里一直顽固不化,并经常抓住自己浏览文档,并在一天结束时为自己和负责监督我的笨手笨脚的可怜的混蛋造成头痛屁股:-)很棒的时候,那些......

为每个人欢呼

答案 2 :(得分:0)

尝试将应用名称传递给migrate命令:

manage.py migrate ig_miner_app

答案 3 :(得分:0)

正如您所说,一旦克隆了回购,您必须安装要求

pip install -r requirements.txt

之后,您必须配置数据库。将详细信息添加到settings.py

一旦完成并且你有密钥和秘密,你必须进行迁移然后迁移。

进入app目录并运行

python manage.py makemigrations

为已克隆的代码中已定义的模型创建迁移文件。之后你必须运行

python manage.py migrate

应用实际创建数据库表的迁移。

现在您在模型中进行任何更改或添加额外的模型或字段,您必须再次运行最后两个命令。

答案 4 :(得分:0)

从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

这些在我的系统上正常工作。

答案 5 :(得分:0)

如果我的IDE位于项目目录中,它似乎会自动激活venv,这导致我从git克隆时不断遇到错误。

ModuleNotFoundError: No module named ''

我必须手动删除原始venv并创建一个新的虚拟env,然后运行这些命令。 :)

之后像PyCharm一样工作

pip install -r requirements.txt

python manage.py collectstatic

答案 6 :(得分:0)

  1. 创建virtualenv并将其激活。
  2. 安装所有依赖项。
  3. 进入项目的主目录。
  4. 运行$ python manage.py runserver。