您的位置:首页 > 编程语言 > Go语言

Django博客web开发经验分享

2019-05-10 22:38 267 查看
版权声明:Made by Asen Wang https://blog.csdn.net/weixin_43870742/article/details/90584544

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文件直接完成。

四.其他

  1. HTTP 请求是以“请求,回复”的方式进行工作的。
  2. 每个 view 函数的第一个参数是一个 HttpRequest 对象。
  3. django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,如管理工具。
  4. 由于目前是测试环境,我们使用python manage.py runserver的命令进行服务器运行,但是在实际生产环境中,我们可能需要一个稳定而持续的服务器。

由于django还在继续学习中,本文会持续更新,欢迎批评指正。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: