我现在正在做一个大的 django 项目。
巨大的主题门户,包含许多主题中心、书籍和其他媒体资料、作者资料和普通用户资料,他们也可以有作者资料。
现在我要做的是:
一个 django 应用程序,像往常一样的模板文件夹,现在随着我创建模板,模板的数量变得巨大..
我从未体验过在一个项目中拥有多个应用程序..
有人可以告诉我这是否可以,或者我是否应该使用多个应用程序?
或者如果我换一种方式:在一个项目中拥有多个应用程序什么时候有意义?
提前致谢
我现在正在做一个大的 django 项目。
巨大的主题门户,包含许多主题中心、书籍和其他媒体资料、作者资料和普通用户资料,他们也可以有作者资料。
现在我要做的是:
一个 django 应用程序,像往常一样的模板文件夹,现在随着我创建模板,模板的数量变得巨大..
我从未体验过在一个项目中拥有多个应用程序..
有人可以告诉我这是否可以,或者我是否应该使用多个应用程序?
或者如果我换一种方式:在一个项目中拥有多个应用程序什么时候有意义?
提前致谢
Django 在拥有多个应用程序时茁壮成长。1个用户注册应用程序,1个个人资料应用程序,1个评论应用程序,1个博客发布应用程序等。
正如您所指出的,在一个应用程序中执行所有操作会很快导致混乱。使用 Django 的最佳方法是创建许多非常具体的应用程序。如果您愿意,这还允许您拥有更多可以在其他项目中重复使用的应用程序。
一个 Django 项目有几十种可能的“结构”。我会选择最模块化的方法。对于每一项功能,只需问问自己:这是否直接属于另一个应用程序?如果答案是否定的,那么您最好为它创建一个单独的应用程序。
例如,同一个博客发布应用程序可以在多个网站上使用,您只需更改模板以使其适合页面的新布局/设计。所有的逻辑应该大体相同。并且博客文章的逻辑不应与查看个人资料或其他内容的逻辑相关联。
示例:对于评论应用,模型可能如下所示:
from django.db import models
from profile.models import Profile
from blog.models import Blog
class Comment(models.Model):
user = models.ForeignKey(Profile, related_name='comments')
blog = models.ForeignKey(Blog, related_name='comments')
message = models.CharField(max_length=200)
您可以拥有不依赖于其他应用程序的核心应用程序(很可能是这样的)
和使用上述内容的“应用程序”应用程序
一个不错的结构是来自“Two Scoops of Django”的模板 https://github.com/twoscoops/django-twoscoops-project
“谢谢你,非常好的指导。我想知道因为所有模型都是相关的,如果我将它们分成多个应用程序,我不会破坏关系吗?”
您应该能够跨应用程序划分模型 - 阅读: