我是初级软件工程师,对Django来说很新。我构建了this app并正在编写自述文件,向其他人解释如何在自己的计算机上分叉,克隆和设置应用程序。在尝试重新创建步骤时我遇到了困难。
这是我制定步骤的顺序:
我尝试迁移应用,但没有要应用的迁移。
我试过'django-admin startproject ig_miner_app。但我收到此错误代码:
“CommandError:/Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py已经存在,将项目或应用程序覆盖到现有目录中将不会替换冲突的文件”
如果我可以解决这个问题,我应该能够正常运行服务器,对吧?
我确定我错过了某些东西(或许多东西),但不知道它们是什么。我觉得很傻,因为我显然能够首先创建应用程序,但无法弄清楚如何向其他人解释同样的事情!有没有关于如何让服务器运行的建议?
谢谢!
答案 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)