个人网站搭建(Day 1)— Hello Django

项目简介

 

个人网站Schnee是基于Python的Django框架搭建而成。Django是一个由Python写成的,具有开放源代码的Web应用框架,采用 MVC(MTV)的软件设计模式,能够很方便地开发属于自己的网站。Django框架自带强大的后台管理功能,能够为开发以及维护更新提供很大的支持。

初步计划中,网站主要有 Blog,Lab, Lenotes三个子模块。Blog模块为个人博客,仅支持管理员对博客进行编辑,以及用户进行评论;Lab模块,正如其名,这部分是作者本人尝试使用Python/C++实现的一些有趣的小玩意儿;Lenotes模块源于之前的Lenote项目(Github-Lenote),作者将其进行重构精简,保留核心的功能从而作为一个独立的子模块,其功能类似于公共日记本,支持同群组成员共同编辑同份文件(支持markdown语法)。具体各个模块的详细设计会在之后的博客中说明。

 

网站技术路线:

编程语言:Python3.6, HTML, CSS, JavaScript

Web 应用框架:Django

前端框架:Bootstrap4

数据库:Sqlite3, MySQL(后期迁移)

服务器架设:Linux,apache2

 

相关知识

 

Python

使用Django框架开发网站需要一定的Python基础,推荐阅读  图灵社区的 Python编程:从入门到实践 (介绍基础的Python语法,并且提供Django的教程,适合新手使用),网上教程推荐 Python教程-廖雪峰, 结合 Python官网文档 便能够很快入门Python语言。

 

http协议

除此之外,我们还需要了解http协议的相关知识,http协议知识也比较简单。我们用一个简单的例子来介绍http协议。当我们打开浏览器,输入一个网址(例如:www.baidu.com)的时候,浏览器将访问该url链接的服务器。向服务器请求该页面的内容,这就是我们一般所说的请求(Request)。服务器收到请求后,将该url链接的html页面代码或相关资源(js、css、图片等)返回给浏览器,这则是相应请求(Response).http协议最基本的行为是浏览器(客户端)发送请求,服务器响应请求。 

 

设计模式

                                           个人网站搭建(Day 1)— Hello Django_第1张图片

 

Django中的设计模式不同于一般的MVC模式,MVC中的C(Controller(控制器))由Django框架自行处理, 所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。了解该模式,就大致明白Django的运作过程。

1)M(Model):数据模型,该模型是一个类。可以设计数据库表的结构,我们直接使用该类读写数据。

2)T(Template):页面模版,带模版标记的html文件。我们通过view获取到对应数据,然后通过模版页面规范输出我们想要的结果。

3)V(View):请求处理,这个是处理和响应请求的方法。我们可以在该方法中获取数据,并将数据返回给客户端。

 

另外,联系Url链接和View请求处理方法是通过Url路由。每条Url路由设置有3参数设置:Url链接正则表达式、处理请求的view方法和别名。

例如: path('index/', views.index, name = 'index'),

1)Url链接正则表达式:规定Url链接的格式。所以Django的Url显得优雅自由,没有带.html这些标记。

2)处理请求的view方法:设置Url链接使用哪个view方法处理并响应请求。

3)别名:别名是该Url路由设置的别名。通过别名我们可以在模版页面或view方法中动态解析得到url链接。

 

在熟悉Django的MTV设计模式之后,我们能够更加容易地设计我们的网站。

 

参考博客:杨仕航 我的网站搭建(第1天) Hello Django

 

你可能感兴趣的:(个人网站搭建)