Django博客web开发经验分享

    xiaoxiao2025-10-27  4

    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”,那么我们通常不应该直接在视图层添加代码:

    def hello(request): return HttpResponse("Hello world ! ") #这样将表现形式与视图相融合的方法其实是不值得推荐的

    而是应该在“template”文件夹中创建模板文件,并在"settings.py"文件引入模板文件的路径。通常情况下创建博客需要创建几个基础的模板文件,并使用继承的方式进一步完善模板文件的内容。

    当然,有一些模板语法也是需要我们了解的,如果在html文件中看到“{%%}”类似的语句,我们要意识到,这是Django的语法。比较常见的有:

    #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的命令进行服务器运行,但是在实际生产环境中,我们可能需要一个稳定而持续的服务器。

     


    更新于2020/2/9

    django是我学习的第一个web框架,即使目前我着力于前端开发的学习,但是内心还是很感谢django带我入门。

    文中有一些错误,如模板语法只是django的一部分,如HTTP请求与响应,看个热闹。

    这是一个很优秀的Python后端框架,希望我的学习之路对你有所帮助。

    最新回复(0)