目标
首先来使用Django快速搭建一个人博客示例网站,来理解Django的MTV模型
原理
说到访问网站,通常情况是 我们的浏览器向服务器发起一个请求request,然后服务器处理返回响应response,简单来说如下图所示。
向Django 服务器发起请求
具体关于
HTTP中request和response的知识可自行搜索。接着说DjangoWeb服务,其背后的逻辑如下图所示。当我们访问Django服务器时,会通过Views来查找需要动态加载的数据,对应Models,然后使用templates中模版来返回给浏览器
Django MTV
PyCharm中示例
1.创建Django项目
后如下图所示,可看到初始的项目目录结构
Django项目目录
2.创建应用
我们在IDE中的terminal来创建项目中的应用:python3 manage.py startapp appName。创建应用完成后查看IDE中目录结构变化如下:
Django app结构
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来动态控制页面加载的数据













网友评论