【问题标题】:How to run a django project without manage.py如何在没有 manage.py 的情况下运行 django 项目
【发布时间】:2018-04-11 12:21:36
【问题描述】:

基本上我从 SCM 下载了 django 项目,通常我使用这些步骤运行项目

  1. git 克隆仓库
  2. 提取
  3. 将目录更改为项目文件夹
  4. python manage.py runserver

但是这个项目不包含 manage.py ,如何在我的本地机器上运行这个项目???

br

【问题讨论】:

  • 根目录下有什么文件?
  • 是什么让你认为这是一个 Django 项目?也许它是一个 Django 应用程序,您需要将其集成到您自己的项目中?

标签: python django


【解决方案1】:

你可以使用 uwsgi 来运行一个 django 项目。

首先安装uwsgi使用:

pip install uWSGI

转到项目文件夹并在终端中输入:

# Replace server with whatever is your project name
uwsgi --http :8000 --module Server.wsgi

【讨论】:

    【解决方案2】:

    很可能,这不应该是一个完整的项目,而是一个插件应用程序。您应该使用django-admin.py startproject 以正常方式创建自己的项目,并将下载的应用程序添加到 INSTALLED_APPS。

    【讨论】:

    • 请一步步阐述……有点困惑
    • 是否需要安装setup.py
    【解决方案3】:

    如果您想以与您习惯相同的方式使用它的命令,则必须手动创建一个 manage.py 文件。您可以修改 django 的 manage.py template 以包含您项目的设置。

    #!/usr/bin/env python
    import os
    import sys
    
    if __name__ == '__main__':
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings')
        try:
            from django.core.management import execute_from_command_line
        except ImportError as exc:
            raise ImportError(
                "Couldn't import Django. Are you sure it's installed and "
                "available on your PYTHONPATH environment variable? Did you "
                "forget to activate a virtual environment?"
            ) from exc
        execute_from_command_line(sys.argv)
    

    【讨论】:

      【解决方案4】:

      首先创建一个虚拟环境并安装Django。现在您的系统中有django-admin.py 可用。
      django-admin 是 Django 用于管理任务的命令行实用程序。

      $ django-admin startproject name [directory] 在当前目录或给定目标中为给定应用名称创建 Django 应用目录结构。

      您可以提供包含自定义应用模板文件的目录路径或包含应用模板文件的压缩文件(.tar.gz、.tar.bz2、.tgz、.tbz、.zip)的路径。

      $ django-admin startproject --template=/Users/jezdez/Code/my_app_template myapp
      


      Django 还将接受 URL(http、https、ftp)以使用应用程序模板文件压缩存档,并即时下载和提取它们。

      例如,利用 GitHub 的功能(或其他 SCM)将存储库公开为 zip 文件,您可以使用如下 URL:

      $ django-admin startproject --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp
      $ cd my_proj
      $ touch manage.py
      

      像@Sayse说的那样把这个内容放到manage.py中:

          #!/usr/bin/env python
      import os
      import sys
      
      if __name__ == "__main__":
          # CHANGED manage.py will use development settings by
          # default. Change the DJANGO_SETTINGS_MODULE environment variable
          # for using the environment specific settings file.
          os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings.development")
      
          from django.core.management import execute_from_command_line
      
      execute_from_command_line(sys.argv)
      

      安装依赖项并运行迁移。

      $ pip install -r requirements.txt
      $ python manage.py migrate
      $ python manage.py runserver
      

      希望我能帮上忙!

      【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 2021-10-08
      • 1970-01-01
      相关资源
      最近更新 更多