Django博客web开发经验分享
Django开发框架是python开发最经常使用的web框架,自诞生至今,Django在python web 开发领域一直占据头把交椅,直到最近才隐隐有与flask并肩齐驱的趋势。相对于flask,Django框架更加完整和全面,适用于新手入门web开发。
最近一直在按照个人博客创建的流程学习Django,但是直接上手工程的话,对Django本身的理解反而有点欠缺,尽管在实操过程中逐渐摸清楚了Django的组成,但是我觉得仍然有必要在取得一定小小的成果后回过头来梳理一下Django框架的基础知识和运行原理。
一.简介
Django使用的是一种被称为MTV的框架模式,基于我们熟悉的MVC模式(model,view,control),具体由Model层,Template(模板层),V代表View层三个部分组成,其相对弱化“control”层的影响,放大模板层和view层的能力。按照官方解释来看:
“Furthermore, it’s sensible to separate content from presentation – which is where templates come in. In Django, a “view” describes which data is presented, but a view normally delegates to a template, which describes how the data is presented.
Where does the “controller” fit in, then? In Django’s case, it’s probably the framework itself: the machinery that sends a request to the appropriate view, according to the Django URL configuration.
If you’re hungry for acronyms, you might say that Django is a “MTV” framework – that is, “model”, “template”, and “view.” That breakdown makes much more sense.”
那么,这三层到底是如何使用的呢?
二.template
简单地说模板是一个用于分离文档的表现形式和内容的文本。最直接的例子,如果我们想要显示出我们的“hello world”,那么我们通常不应该直接在视图层添加代码:
[code]def hello(request): return HttpResponse("Hello world ! ") #这样将表现形式与视图相融合的方法其实是不值得推荐的
而是应该在“template”文件夹中创建模板文件,并在"settings.py"文件引入模板文件的路径。通常情况下创建博客需要创建几个基础的模板文件,并使用继承的方式进一步完善模板文件的内容。
当然,有一些模板语法也是需要我们了解的,如果在html文件中看到“{%%}”类似的语句,我们要意识到,这是Django的语法。比较常见的有:
[code]#if/else标签 {% if condition %} ... display {% endif %} #注释标签 {# 这是一个注释 #} #include标签,可以引用其他的模板 {% include "nav.html" %} #模板继承 {%extends "base.html" %} {% block mainbody %} <p>继承了 base.html 文件</p> {% endblock %}
三.model
虽然Django中已经有了“SQLite”数据库,但是我们经常使用Mysql,这个配置方式前文我们也讲述过。链接如下:
https://www.jianshu.com/p/95b88b8f4bd2
在Django中,要定义model文件必须要先创建app,在django文件中对数据库的操作,我们可以使用python文件直接完成。
四.其他
- HTTP 请求是以“请求,回复”的方式进行工作的。
- 每个 view 函数的第一个参数是一个 HttpRequest 对象。
- django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,如管理工具。
- 由于目前是测试环境,我们使用python manage.py runserver的命令进行服务器运行,但是在实际生产环境中,我们可能需要一个稳定而持续的服务器。
由于django还在继续学习中,本文会持续更新,欢迎批评指正。
- 高性能web开发经验分享
- 高性能web开发经验分享
- 高性能web开发经验分享
- 开发者是如何提升技能水平的 发表于1小时前| 770次阅读| 来源SquareSpace| 1 条评论| 作者Denis Gobo 开源程序员博客代码编程经验分享 摘要:作为一个技术开发人员,不断的学
- 【Cloud Foundry 应用开发大赛】“个人怀旧博客”分享开发经验
- web开发经验分享常用SQL语句技巧
- 高性能web开发经验分享
- 自学python-django已经有一段时间。从今天开始写博客记录点滴经验与大家分享。
- web前端开发学习经验分享——css,js入门篇
- web前端开发学习经验分享——css,js进阶篇
- 高性能web开发经验分享
- 经验分享 | WEB前端开发想要月薪2W吗?先掌握这些技能
- web前端开发学习经验分享——css,js入门篇
- 高性能web开发经验分享 (转)
- 【Web前端开发】面试经验分享(应届生)
- Django博客开发实践,初学者开发经验
- django1.8.3搭建博客——2 django web 开发指南阅读笔记
- 重震我的博客 -- 分享沙发生活开发经验(概述篇)
- 关于百度地图在web端二次开发经验分享
- 分享我这些年web开发的经验