Python 如何运行克隆的Django项目?

Python 如何运行克隆的Django项目?,python,django,git,github,django-admin,Python,Django,Git,Github,Django Admin,我是一名初级软件工程师,对Django很陌生。我创建并正在编写一个自述文件,向其他人解释如何在他们自己的机器上分叉、克隆和安装应用程序。我在尝试重新创建步骤时被卡住了 这是我制定步骤的顺序: 分叉并克隆回购协议 源虚拟环境 Pip安装要求.txt 获取访问令牌和密钥并存储在secrets.sh中 设置Postgres数据库,创建用户和数据库 迁移(?)-这就是我被卡住的地方 我尝试迁移应用程序,但没有要应用的迁移 我尝试了django admin startproject ig_miner_应用

我是一名初级软件工程师,对Django很陌生。我创建并正在编写一个自述文件,向其他人解释如何在他们自己的机器上分叉、克隆和安装应用程序。我在尝试重新创建步骤时被卡住了

这是我制定步骤的顺序:

  • 分叉并克隆回购协议
  • 源虚拟环境
  • Pip安装要求.txt
  • 获取访问令牌和密钥并存储在secrets.sh中
  • 设置Postgres数据库,创建用户和数据库
  • 迁移(?)-这就是我被卡住的地方 我尝试迁移应用程序,但没有要应用的迁移

    我尝试了django admin startproject ig_miner_应用程序。但是我得到了这个错误代码:

    CommandError:/Users/Erin/Desktop/codebyellard/project/instagram\u miner/manage.py已存在,将项目或应用程序覆盖到现有目录不会替换冲突文件

    如果我能解决这个问题,我应该可以像正常一样运行服务器,对吗

    我肯定我错过了一些东西(或很多东西),但不知道它们是什么。我觉得自己很傻,因为很明显,我一开始就能够创建这个应用程序,但却不知道如何向其他人解释如何做同样的事情!对于如何让服务器运行有什么建议吗


    谢谢大家!

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

    manage.py migrate ig_miner_app
    

    首先,您会收到该错误,因为您正在克隆项目所在的同一目录中启动项目,该目录已包含名为
    ig\u miner\u 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)

    从key中获取一个秘密并添加到secrets.sh

    export SECRET_KEY='<secret_key>'
    
    然后跑

    python manage.py migrate
    
    创建管理员帐户

    python manage.py createsuperuser
    
    然后

    为应用程序进行迁移

    然后再跑

    python manage.py migrate
    
    启动开发服务器

    python manage.py runserver
    
    并在浏览器上打开localhost:8000以查看应用程序


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

    正如您所说,一旦您克隆了repo,您就必须安装这些要求

    pip install -r requirements.txt
    
    之后,您必须配置数据库。将详细信息添加到settings.py

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'db_name',
            'USER': 'name',
            'PASSWORD': '',
            'HOST': 'localhost',
            'PORT': '',
        }
    }
    
    一旦完成并掌握了密钥和秘密,就必须进行迁移,然后再进行迁移

    将cd放入应用程序目录并运行

    python manage.py makemigrations
    
    为已在克隆的代码中定义的模型创建移植文件。之后你就得跑了

    python manage.py migrate
    
    应用实际上创建数据库表的迁移


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

    Hey@allardbrain,欢迎来到精彩的开发世界^ ^

    虽然我希望这个问题现在已经解决了,但如果可以的话,让我们很快再谈一谈——我相信其他人已经犯了,而且目前正在犯这个错误

    我尝试了“django admin startproject ig_miner_应用程序”。但是我得到了这个错误代码:

    CommandError:“yadda yadda yadda yadda…”

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

    我想说的是,当学习新东西时,阅读文档;运行“待办事项”应用程序教程。这就是为什么

    django-admin startproject
    
    如果您正在提取预先存在的应用程序的工作副本,则已经满足了这一要求。你应该首先关注这个文件

    requirements.txt
    
    这是devdependency声明其需求的地方,如果您愿意的话,类似于您的基本需求

    package.json 
    
    不管怎么说,我这么说只是因为我在职业生涯的头几年都很固执,经常发现自己在浏览文档,最后给自己和那些负责监督我笨重屁股的可怜的混蛋们带来了麻烦:-)美好的时光,那些


    为大家干杯

    从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
    
    pip3安装virtualenv
    virtualenv-p python3环境
    源环境/箱/激活
    pip安装django
    django管理启动项目
    python manage.py startapp轮询
    python manage.py运行服务器
    终端上:python manage.py makemigrations
    python manage.py迁移
    

    这些在我的系统上运行良好

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

    ModuleNotFoundError:没有名为“”的模块

    我必须手动删除原始的venv并创建一个新的虚拟环境,然后运行这些命令。在以下情况下工作得很出色:)

    pip安装-r requirements.txt

    python manage.py collectstatic

  • 创建virtualenv并激活它
  • 安装所有依赖项
  • 将cd放入项目的主目录中
  • 运行$python manage.py runserver

  • 为什么要运行
    startproject
    ?你已经有一个项目了!运行
    manage.py migrate
    时出现了什么错误?我刚刚运行了'startproject',因为我想不出还有什么可以尝试的。这就是我在运行“python manage.py migrate”时遇到的错误:回溯(最近一次调用最后一次):文件“manage.py”,第8行,从django.core.management导入执行从命令行导入错误错误:没有名为django.core.management的模块您激活了虚拟环境吗?哦,是的,virtualenv肯定被激活了。这是我尝试这样做时收到的错误消息:回溯(大多数)
    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