bas*_*kum 32 django django-apps
我真的在努力应对这整个应用程序的想法.我阅读了很多教程和样式指南,我知道我应该尝试创建专门的应用程序,这只做一件事.在查看一些简单的教程项目时,这一切都很有意义,但一旦进入复杂的现实生活项目,我发现自己无法确定应该如何划分不同应用程序之间的界限.
其中一个问题是,我希望有一个站点(或多个站点),用户可以看到很多不同的东西.遵循应用程序设计规则时应该来自不同应用程序的东西.我怎么会意识到这样的事情?我的第一个想法是创建一个名为ui的应用程序,它只处理实际导致模板的所有视图,所有其他应用程序提供模型和辅助功能.但我担心该ui应用程序会变得很大.
举个小例子:让我想拥有一个用户可以执行以下任务的站点:
现在,我会创建三个应用程序:
但是,我需要某种main或ui应用程序来处理这些应用程序的交互方式以及创建实际网站,其中所有应用程序都以某种方式参与其中.
那么,有没有"正确"的方法来做到这一点?或者我可以使用任何模式吗?我也很欣赏有关这个主题的良好资源的链接,尽管我已经阅读了不少内容.
Hed*_*ide 11
您只需要确保您的结构对您有意义.
没有必要为绑定到项目逻辑的另一部分的每个功能创建新的应用程序.
可重用的应用程序是一个完全不同的故事,它们的代码应该在某种程度上不知道实现.
您的示例的可能布局:
project_root/
project/
__init__.py
settings.py
urls.py
templates/
app1/ # override stuff
static/
media/
app1/
__init__.py
admin/ # as a package
__init__.py
subjects.py
resources.py
# etc
models/ # as a package
subjects.py
resources.py
# etc
managers/
__init__.py
subjects.py
resources.py
# etc
services/
__init__.py
audio.py # upload handler etc
views/
__init__.py
subjects.py
urls/
__init__.py
subjects.py
templates/
app1/
subject_list.html # override at project level
static/
app1/
css/
subject.css # override at project level
app2/
__init__.py
models.py # holds a Member model or whatever you require
manage.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9392 次 |
| 最近记录: |