5 python django web-applications project-structure
我看到过有关 stackoverflow 的其他问题(何时在 Django 中创建新应用程序(使用 startapp)?)并阅读了有关该主题的一些幻灯片,但仍然对何时在 Django 项目中创建新应用程序感到有些困惑?我是从 MEAN 堆栈过来的,我是 Django 的新手。
如果我想创建一个具有以下四个主要功能的 Web 应用程序:
-登记
-登录
- 与其他用户聊天
-上传文件
这些是 4 个独立的应用程序,它们有自己的 views.py、urls.py 等吗?还是我创建 1 个应用程序并共享应用程序文件?
似乎 Django 项目中的“应用程序”被描述为可重用模块,但这些功能只会在我的整个 Web 应用程序中使用一次,因此它们不能重用?
如果我想构建两个完全独立的网站,我是创建 2 个独立的 Django 项目还是 1 个项目,其中包含单独的应用程序,并会重复使用一个应用程序,例如注册?
只是试图围绕如何构建这个来围绕我的未来。
以下来自 Django 的投票教程:
项目与应用
项目和应用程序之间有什么区别?应用程序是可以执行某些操作的 Web 应用程序——例如,Weblog 系统、公共记录数据库或简单的投票应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。
我加粗的部分让我对如何构建应用程序以及何时分离应用程序感到非常困惑。
任何帮助表示赞赏。
很多人在刚接触 Django 时都会提出同样的问题。需要明确的是,我使用了 django 版本 1.9 和 1.10,所以如果您使用的版本 <=1.8,某些概念可能会改变。
在 django 中,您可以为需要在其他一些模块中经常使用的模块创建单独的应用程序。您需要的所有四个功能都可以在一个应用程序中使用,但假设您想要聊天功能,该功能在许多应用程序中非常有用,可用于帮助和支持服务或创建聊天机器人(大多数人在其网站中使用来自不同来源的聊天服务)在这种情况下,如果您多次使用特定功能,或者您希望让某人通过 API 来使用您的聊天服务,那么最好为其创建单独的应用程序。现在,如果您谈论注册和登录功能,它可以在 django 内置模块django.contrib.auth中使用,因此您可以为其创建单个应用程序。如果我们谈论上传文件功能,它可以在您的聊天应用程序和其他应用程序中使用,但您可以以相同的形式、视图和模型实现它,而不是为其创建单独的应用程序,或者您可以创建另一个单独的 python 脚本,您可以在其中调用它当您想使用继承或您喜欢的方法时,可以随时查看或建模。
归档时间: |
|
查看次数: |
2341 次 |
最近记录: |