簡體   English   中英

如何在沒有manage.py的情況下運行Django項目

[英]How to run a django project without manage.py

基本上我是從SCM下載django項目的,通常我會按照以下步驟運行該項目

  1. git clone存儲庫
  2. 提取
  3. 將目錄更改為項目文件夾
  4. python manage.py運行服務器

但是該項目不包含manage.py,如何在本地計算機上運行此項目???

br

如果要以慣用的方式使用它的命令,則必須手動創建一個manage.py文件。 您可以修改django的manage.py模板以包括項目的設置。

#!/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)

最有可能的是,這不應該是一個完整的項目,而是一個插件應用程序。 您應該使用django-admin.py startproject以常規方式創建自己的項目,並將下載的應用添加到INSTALLED_APPS。

您可以使用uwsgi運行django項目。

首先使用以下命令安裝uwsgi:

pip install uWSGI

轉到項目文件夾,然后在終端中輸入以下內容:

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

首先創建一個虛擬環境並安裝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

希望我能幫忙!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM