Django学习笔记(二):MTV架构学习及使用步骤

Django MTV 模型,即

  • M 表示模型(Model):编写数据库结构,负责业务对象与数据库的映射(ORM)
  • T 表示模板 (Template):负责如何页面(html)展示给用户。
  • V 表示视图(View):负责业务逻辑,并在适当时候调用 Model获取数据和 Template 渲染页面.

除了以上三层之外,还需要一个 URL (urls.py文件)分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View(views.py文件) 处理,View (views.py文件)再调用相应的 Model(models.py文件) Template(template文件夹中的模板文件,包括html)MTV 的响应模式,如下所示:

使用MTV架构开发网站步骤

  1. 需求分析
  2. 数据库设计。
  3. 了解网站的每一个页面,并设计网页模板(.html)文件
  4. 使用virtualenv创建并启用虚拟机环境
  5. 使用pip install安装django
  6. 使用django-admin startproject命令生成项目
  7. 使用python manage.py startapp创建app
  8. 创建templates文件夹,并把所有网页模板文件都放在此文件夹中,如os.path.join(BASE_DIR, 'templates')
  9. 创建static文件夹,并把所有静态文件(图形文件、css文件、js文件等等)都放在此文件夹中;
  10. 修改settings.py,把相关文件夹设置都加入,也把生成的app名称加入INSTALLED_APPS序列中;
  11. 根据数据库设计,编辑models.py,创建数据库表格;
  12. 编辑views.py,先import在models.py中创建的数据模型;
  13. 编辑admin.py,把models.py中定义的数据模型导入,并使用admin.site.register注册新增的类,让admin界面可以处理数据库内容;使用python manage.py createsuperuser命令建立数据库管理账号,登录http://127.0.0.1:8000/admin,通过数据库管理界面对数据库数据进行管理。
  14. 编辑views.py,设计处理数据的相关模块,输入和输出都通过templates相关的模块操作获取来自于网页的输入数据,以及显示html文件的网页内容;
  15. 编辑urls.py,先import在views.py中定义的模块;
  16. 编辑urls.py,创建网址和views.py中定义的模块的对应关系。
  17. 执行python manage.py makemigrations让 Django 记录模型的变更信息(这里不触发数据库数据变更,只是记录在app名称目录\migrations下的0001_initial.py等文件里)。
  18. 执行python manage.py migrate同步数据库变更,触发数据库和数据表哥结构修改
  19. 执行python manage.py runserver测试网站。
  20. 上线部署

django-admin与manage.py的其他命令

  django-admin  Django 的命令行工具集;manage.py 是项目的命令工具集,可以执行与django-admin一样功能的命令集。

命令格式:

  django-admim + 参数

  python manage.py + 参数

参数说明:

django-admin 和 manage.py命令行工具集
参数作用
checkcheck 命令用来检查整个 Django 项目是否存在错误
compilemessages用于国际化和本地化时,编译 .po 消息文件为 .mo 文件
createcachetable在 settings.py 中配置 CACHES 即可实现缓存表功能
dbshell使用 settings.py 文件中 ENGINE 设置中指定的数据库引擎的命令行客户端,默认的是唤起 Sqlite3 数据库命令行客户端。
diffsettings显示当前 settings.py 文件与 Django 的默认设置之间的差异
dumpdata输出指定项目的数据表结构和数据
flush清空当前数据库的数据。保留 migration 的变更不会被清除。只删除数据,不删除表结构。
help显示帮助手册,显示命令格式等说明
inspectdb通过已有数据库表生成 models.py 文件。也可以将视图创建为模型文件。
loaddata将 fixture 文件加载到数据库中。其中 fixture 是序列化好的文件,文件格式一般为 JSON 和 XML。
makemessages用于国际化和本地化时,生成 .po 文件
makemigrations根据模型变化生成迁移代码,迁移代码会存放在每个应用下的 migrations 文件夹(注意,这里只是记录变化,不会触发数据库发生变化,只有执行了migrate命令才会触发数据库变更。)
migrate使数据库状态与当前模型迁移集同步,即把模型的最新状态部署到数据库。
optimizemigration 
runserver启用 Django 提供的轻量级的 Web 服务器,该服务器一般用于开发测试,在生产环境中不能使用。
sendtestemail发送测试邮件以检测邮箱设置是否正确。 语法:django-admin sendtestemail  XXXXXXX@163.com
shell启动一个Python交互窗口
showmigrations显示项目中所有的迁移文件。
sqlflush打印 flush 命令执行的 SQL 语句。
sqlmigrate该命令可以将某个 migrate 输出为 SQL 语句
sqlsequencereset查看对指定app进行sequence重置的sql脚本
squashmigrations 
startapp创建 APP 应用
startproject创建项目应用
test运行所有已安装应用的测试
testserver 
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值