我是Django的新手,但在编程方面经验丰富.我有一组的,我想组到部分应用程序,但无法弄清楚如何让manage.py为我做这个相关的应用.
理想情况下,我最终会得到如下结构:
project/
app/
subapp1/
subapp2/
Run Code Online (Sandbox Code Playgroud)
我试过manage.py startapp app.subapp1
和manage.py startapp app/subapp1
,但是这告诉我,/
和.
无效字符的应用程序的名称.
我已经尝试更改到app目录并运行,../manage.py subapp1
但这使supapp1处于顶层.注意,我不是要直接制作一个独立的应用程序.我正试图在一个项目中做所有这些.
seb*_*piq 53
你仍然可以这样做:
cd app
django-admin startapp subapp1
Run Code Online (Sandbox Code Playgroud)
这将工作(创建应用程序基础结构),但app
和subapp1
仍然被认为是在这个意义上,你必须两者添加两个不相关的应用程序INSTALLED_APPS
在你的设置.
这回答了你的问题了吗 ?否则你应该详细说明你想要做什么.
Sim*_*Jie 20
根据Django文档,
如果提供了可选目标,Django将使用该现有目录而不是创建新目录.您可以使用 '.' 表示当前的工作目录.
例如:
django-admin startapp myapp/Users/jezdez/Code/myapp
所以,你可以通过这种方法来做到这一点:
sub_app1
在app
目录中创建目录 python manage.py startapp sub_app1 app/sub_app1
Pra*_*ant 16
这很简单
第 1 步 - 创建项目
django-admin startproject app
cd app
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 创建 api 文件夹
mkdir api
cd api
touch __init__.py
cd ..
Run Code Online (Sandbox Code Playgroud)
第 3 步 - 创建嵌套应用程序
python manage.py startapp user ./api/user
python manage.py startapp post ./api/post
python manage.py startapp comment ./api/comment
Run Code Online (Sandbox Code Playgroud)
第 4 步 - 注册嵌套应用程序
INSTALLED_APPS = [
...
'api.user',
'api.post',
'api.comment',
]
Run Code Online (Sandbox Code Playgroud)
第 5 步 - 更改应用程序名称
更新所有三个应用程序中 apps.py 文件中的名称
class UserConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'api.user'
class PostConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'api.post'
class CommentConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'api.comment'
Run Code Online (Sandbox Code Playgroud)
我们完成了!
注意:第2步很重要
小智 6
转到您的应用程序文件夹.尝试:
python ../manage.py startapp app_name
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26783 次 |
最近记录: |