首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC和django基础

MVC和django基础
EN

Stack Overflow用户
提问于 2008-12-12 20:22:29
回答 3查看 5.8K关注 0票数 8

对此场景非常陌生,正在尝试查找一些文档来采用最佳实践。我们正在构建一个相当大的内容站点,它将包括各种媒体目录,我正在尝试寻找一些可比较的数据/架构模型,以便我们可以更好地了解我们应该使用一个我们以前从未使用过的框架的方法。任何洞察力/帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2008-12-12 20:37:36

“数据/架构模型,这样我们就可以更好地了解我们应该使用的方法,使用一个我们以前从未使用过的框架。”

Django将最佳实践强加于您。你没有太多的选择,也不能犯很多错误。

MVC (虽然是一个高尚的愿望)实现如下:

使用Django ORM models.

  • urls.py文件映射
  • 函数,在"models.py“文件中定义视图数据。使用models
  • Presentation中的模型和方法(通过

模板)进行所有的处理,

  • 视图函数调用。基本上没有处理可以在表示中完成,只有轻量级迭代和decision-making

系统将为您定义模型。只要坚持Django自然做的事情,你就会很开心。

在架构上,你通常会有一个这样的堆栈。

  • Apache做两件事。

代码语言:javascript
复制
- serves static content directly and immediately 
- hands dynamic URL to Django (via mod\_python, mod\_wsgi or mod\_fastcgi).  Django apps map URL to view functions (which access to database (via ORM/model) and display via templates.

Django视图函数使用的

  • 数据库。

这个架构已经为您定义好了。只要坚持Django自然做的事情,你就会很开心。

请随意阅读Django documentation。它很棒;也许是最好的了。

票数 16
EN

Stack Overflow用户

发布于 2008-12-12 21:12:11

首先,忘记所有的MVC咒语。拥有一个好的分层结构是很重要的,但MVC (按照最初的定义)并不是一个分层结构,它是一个模块化的结构,其中每个图形用户界面模块都被分到这些树子模块中。在这里的网页上没有什么可用的。

在web开发中,拥有分层结构是非常值得的,其中最重要的层是存储/建模层,它后来被称为模型层。最重要的是,您还需要一些其他层,但它们与GUI世界中的视图和控制器完全不同。

Django层大致是:

显然是

  • storage/modelling: models.py。试着把大多数“工作”的概念放在那里。所有的关系,所有的操作都应该主要在urls.py中实现。在这里,您可以将URL方案转换为代码路径。把它想象成一个很大的switch()语句。努力拥有可读的URL,它能映射到用户的意图。添加新的功能,或者以新的方式来做同样的事情(像AJAX UI later).
  • gathering:,主要是视图函数,包括您的视图函数和预先构建的通用视图)将会有很大帮助。在这里,您只需从模型中收集所有,以满足用户请求。令人惊讶的是,在许多情况下,它只需选择一个模型实例,其他所有内容都可以从关系中检索。对于这些URL,一个通用视图是enough.
  • presentation: the templates。如果视图提供了所需的数据,那么将其转换为网页就足够简单了。在这里,您将感谢模型类有很好的访问器,可以从任何给定的实例中获取任何类型的相关数据。
票数 5
EN

Stack Overflow用户

发布于 2008-12-12 22:56:06

要了解django fundementals和django对MVC的支持,请参考以下内容:http://www.djangobook.com/

作为使用...trying找到一些可比较的数据/体系结构模型的起点

这是一种快速而棘手的方法,可以对数据库进行反向工程以获得models.py文件,然后您可以检查该文件,看看django将如何处理它。

1.)得到一个与你的目标非常接近的er图。例如,像这样的http://www.databaseanswers.org/data_models/product_catalogs/index.htm

2.)我建议Postgre从er图创建一个sql脚本并创建数据库,因为一些MySQL表类型不会有forgien key约束,但在紧要关头,MySQL或SQLITE可以。

3.)创建并配置django应用程序以使用该数据库。然后运行: python manage.py检查器数据库

这至少会为您提供一个models.py文件,您可以读取该文件来查看django如何对其进行建模。

请注意,inspect命令旨在成为在django中开发时处理遗留数据库的快捷方式,因此并不完美。在尝试此操作之前,请务必阅读以下内容:http://docs.djangoproject.com/en/dev/ref/django-admin/#ref-django-admin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/364015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档