在内部组织Django应用程序

ctehm74n  于 2023-04-22  发布在  Go
关注(0)|答案(4)|浏览(194)

创建应用程序时,您可以执行以下操作:pythonmanage.pystartapp app1,但这会自动在项目的根文件夹中创建应用程序。

/project1/
         /app1/
         /app2/
         ...
         __init__.py
         manage.py
         settings.py
         urls.py

如何在一个已经创建的文件夹中创建并保存所有在Django中创建的应用程序?例如:在这种情况下,我有一个名为“应用程序”的文件夹,其中我将拥有在开发期间创建的所有应用程序:

/project/
         apps/
              app1/
              app2/
              ...
         __init__.py
         manage.py
         settings.py
         urls.py

任何人谁可以提供信息将不胜感激。

ufj5ltwl

ufj5ltwl1#

正如Django文档中所述,
django-admin startapp name [directory]
在当前目录或指定的目的地中创建一个具有指定应用程序名称的Django应用程序目录结构。
例如:

django-admin startapp myapp apps/myapp

然后你需要稍微修改一下设置文件,这样django才能识别这些应用:

import os
import sys # new

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp.apps.MyappConfig',
]
...
sys.path.append(os.path.join(BASE_DIR, 'apps')) # at the bottom of the file
vnzz0bqm

vnzz0bqm2#

在我的例子中也是如此。settings.py

import sys

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# NEW: Add apps directory to Python file path
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, "apps"))

然后,您可以使用此文件夹中的所有应用程序,就像它们在项目根目录中一样!

"app_name.apps.App_nameConfig"
smtd7mpg

smtd7mpg3#

首先运行django-admin startproject project_name如果你想在当前目录下创建,你可以在命令的末尾写点,就像这样:django-admin startproject project_name .
然后创建应用程序python manage.py startapp app_name
访问以了解更多说明https://docs.djangoproject.com/en/4.1/intro/tutorial01/

hyrbngr7

hyrbngr74#

在项目文件夹内创建文件夹,然后进入新创建的文件夹
然后运行命令来创建应用程序(不需要给予文件夹路径,因为你已经在你想要的文件夹)
转到apps.py新创建的应用程序中的www.example.com文件并更改名称。在应用程序名称之前添加文件夹名称,并用点连接两者
例如,文件夹名称为apps,应用程序名称为myapp,更改名称= 'apps.myapp'
现在转到主页面settings.py,并以相同的方式添加您的应用程序名称(apps.myapp)
在主URL中,当定义路径时,您将在应用程序名称之前使用文件夹名称,通过点连接两者。

相关问题