目标
首先来使用Django
快速搭建一个人博客示例网站,来理解Django
的MTV
模型
原理
说到访问网站,通常情况是 我们的浏览器向服务器发起一个请求request
,然后服务器处理返回响应response
,简单来说如下图所示。

具体关于
HTTP
中request
和response
的知识可自行搜索。接着说DjangoWeb
服务,其背后的逻辑如下图所示。当我们访问Django
服务器时,会通过Views
来查找需要动态加载的数据,对应Models
,然后使用templates
中模版来返回给浏览器
PyCharm中示例
1.创建Django项目
后如下图所示,可看到初始的项目目录结构

2.创建应用
我们在IDE
中的terminal
来创建项目中的应用:python3 manage.py startapp appName
。创建应用完成后查看IDE
中目录结构变化如下:

3.templates和views
- 将写好的
index.html
页面放到templates
目录下 - 然后,进入app中
views.py
,编写视图函数:
def index(request):
return render(request, 'index.html')
- 在网页做好,渲染网页的函数也完成后,需要配置页面
URL
,这样才能被访问。进入项目目下,访问urls.py
文件,把页面的URL
加到urlpatterns
中path('index/', index)
。当然,首先引用创建的app才可以。
4.访问页面
这样网页基本完成,可以在terminal
中运行命令python3 mange.py runserver
访问页面。
- 如果需要配置页面样式和图片,需要创建
static
目录(需要与templates平级),然后将css
文件和图片文件放到对应的目录中,去templates
修改对应的html
页面代码即可。 - 这里使用
Django
模版语言引用css
和images
资源,后期也是被用来与models
建立链接,控制数据。例如,导入static
文件夹,代码{% load static %}
在index.html
首页,修改html
中需要引用的资源属性值,例如<link rel="stylesheet" href="{% static 'css/blog-old-ie.css' %}">
- 切换到项目目录下的
settings.py
文件,配置static
目录
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
后面会介绍如何使用models
来动态控制页面加载的数据
网友评论