我有一个相当复杂的“产品”,准备使用Django构建。在这种情况下,我将避免使用术语“项目”和“应用程序”,因为我不清楚它们在Django中的具体含义。
项目可以有许多应用程序。应用程序可以在许多项目之间共享。精细。
我不是在改造博客或论坛-我看不到产品的任何部分在任何情况下都可以重用。直观地,我将其称为“应用程序”。然后,我是否将所有工作都放在一个“ app”文件夹中?
如果是的话
……就Django的project.app
命名空间而言,我倾向于使用myproduct.myproduct
,但当然不允许这样做(但是我正在构建的应用程序是我的项目,而我的项目是一个应用程序!)。因此,我不得不相信也许我应该通过为每个“重要”模型构建一个应用程序来接近Django,但是我不知道在架构中将边界划分为应用程序的位置-
我有很多东西具有相对复杂关系的模型。
我希望对此有一个通用的解决方案…
什么是阻止您使用的myproduct.myproduct
?要实现这一目标,大致需要执行以下操作:
django-admin.py startproject myproduct
cd myproduct
mkdir myproduct
touch myproduct/__init__.py
touch myproduct/models.py
touch myproduct/views.py
等等。如果我说views.py
不必打来电话会有所帮助views.py
吗?如果您可以在python路径上命名一个将被处理的函数(通常为package.package.views.function_name)。就那么简单。所有这些“项目”
/“应用”东西都只是python包。
现在,您应该怎么做?或更确切地说,我该怎么做?好吧,如果你创建一个显著一块可重复使用的功能,好比说一个标记编辑器中,当你创建一个“顶级应用程序”那可能含有widgets.py
,fields.py
,context_processors.py
等等-
你可能要导入所有的东西。
同样,如果您可以创建类似博客这样的格式,并且在安装过程中使用通用格式,则可以将其包装在应用程序中,包括其自己的模板,静态内容文件夹等,并配置Django项目的实例以使用该模板应用程序的内容。
没有硬性规定可以执行此操作,但这是框架的目标之一。包括模板在内的所有内容,都允许您从某个共同的基础上进行包含,这意味着您的博客应仅通过照顾自己的部分而紧密地适合任何其他设置。
但是,要解决您的实际问题,是的,没有什么说不能使用顶层项目文件夹的。 这就是应用程序要做的
,如果您确实愿意,您可以这样做。但是,由于以下几个原因,我倾向于不这样做:
website
。但是,以后我可能只想为此站点开发原始功能。为了使它可移动(无论我是否做过),我倾向于然后创建一个单独的目录。这也意味着我可以仅通过从配置中取消该程序包的链接并删除文件夹来删除所述功能,而不是从全局urls.py文件夹中删除正确的url。简而言之,约定的原因与其他约定相同-
当涉及到与您的项目一起工作的其他人时,这很有用。如果我看到fields.py
我立即希望其中的代码可以将django的字段作为子类,而如果我看到inputtypes.py
我可能不那么清楚就不知道这意味着什么。
本文向大家介绍django项目搭建与Session使用详解,包括了django项目搭建与Session使用详解的使用技巧和注意事项,需要的朋友参考一下 前言 Django完全支持也匿名会话,简单说就是使用跨网页之间可以进行通讯,比如显示用户名,用户是否已经发表评论。session框架让你存储和获取访问者的数据信息,这些信息保存在服务器上(默认是数据库中),以 cookies 的方式发送和获取一个包
问题内容: 我的Django项目将由具有数十万个条目的大型数据库支持,并且将需要支持搜索(我可能最终会使用djangosearch或类似的项目。) 哪个数据库后端最适合我的项目,为什么?您能否推荐任何好的资源以供进一步阅读? 问题答案: 作为最近将项目从MySQL切换到Postgresql的人,我并不后悔切换。 从Django的角度来看,主要区别在于Postgresql中更严格的约束检查,这是一件
项目创建 现在正式开始吧, 我们创建一个名为my_blog的Django项目 创建项目的指令如下: $ django-admin.py startproject my_blog 现在来看一下整个项目的文件结构 $ tree my_blog #打印树形文件结构 my_blog ├── manage.py └── my_blog ├── _
我有以下型号: 类类别(models.Model):名称=模型。字符域(最大长度=255) 类元素(models.Model): 课程主题(models.Model): 元素=模型。ForeignKey(元素)name=模型。夏菲尔德(max_length=255) 我基本上需要在category id=1中添加新主题,并只获得属于类别1的élément列表 我在category id=1中创建了
本文向大家介绍Django 开始一个项目,包括了Django 开始一个项目的使用技巧和注意事项,需要的朋友参考一下 示例 Django是一个基于Python的Web开发框架。Django的1.11(最新的稳定版本)需要Python 2.7,3.4,3.5或3.6安装。假设pip可用,安装就像运行以下命令一样简单。请记住,省略如下所示的版本将安装django的最新版本: 为了安装特定版本的djang
每一個 Django project 裡面可以有多個 Django apps,可以想成是類似模組的概念。在實務上,通常會依功能分成不同 app,方便未來的維護和重複使用。 例如,我們要做一個類似 Facebook 這種網站時,依功能可能會有以下 apps: 使用者管理 -- accounts 好友管理 -- friends 塗鴉牆管理 -- timeline 動態消息管理 -- news 若未來我