一、视图概念
数据库虽然已经有了,但是用户通常只需要对这个庞大的数据库中的很小一部分进行查看、修改等操作。为此还需要代码来恰当的取出数据并展示,这一部分的代码就被称为视图。
Django中视图的概念是【一类具有相同功能和模板的网页的集合】。比如,在一个博客应用中,你可能会创建如下几个视图:
- 博客首页:展示最近的几项内容;
- 内容详情页:详细展示某项的内容;
- 评论处理器:用于响应为一项内容添加评论的操作;
这些需求都考视图(View)来完成。
二、编写视图函数
打开article/views.py
,写出视图函数:
网页都是从视图派生而来。每一个视图表现为一个简单的Python函数,它必须要做的只有两件事:返回一个包含被请求页面内容的HttpResponse
对象,或者抛出一个异常,比如Http404
。
视图函数中的request
与网页发来的请求有关,里面包含get
或post
的内容、用户浏览器、系统等信息。Django调用article_list
函数时会返回一个含字符串的HttpResponse
对象
有了视图函数,还需要配置URLconfs
,将用户请求的URL链接关联起来。换句话中,URLconfs
的作用是将URL映射到视图中。
之前已经将URL分发给了article
应用,因此这里只需要修改之前添加的article/urls.py
就可以,添加如下代码:
Django 将会根据用户请求的URL来选择使用哪个视图。本例中当用户请求article/article-list
链接时,会调用views.py中的article_list函数,并返回渲染后的对象。参数name用于反查url地址,相当于给url起了个名字。
三、测试
启动服务器:
成功运行后,打开浏览器,输入url地址http://127.0.0.1:8000/article/article-list/
,其中127.0.0.1:8000
是调试服务器的本地地址,article
是项目路由my_blog\urls.py
分发的地址,article-list
是刚才配置的article\urls.py
应用分发的地址。
四、网站管理后台
编写Model模型时虽然定义了数据库表,但是这个表是空的,不方便展示View调取数据的效果。所以在写View之前,需要往数据表里添加一些数据。
4.1、网站后台概念
网站后台,有时也称为网站管理后台,是指用于管理网站的一系列操作,如:数据的增加、更新、删除等。在项目开发的初期,因为没有真实的用户数据和完整的测试环境,会频繁地使用后台修改测试数据。
Django内置了一个很好的后台管理工具,只需要很少的代码,就可以实现强大的功能。
4.2、创建管理员账号
管理员账号(Superuser)是可以进入网站后台,对数据进行维护的账号,具有很高的权限
根据提示输入账号名字、邮箱和密码即可。
4.3、将ArticlePost注册到后台
我们需要告诉Django
,后台中需要添加ArticlePost
这个数据表供管理。
打开article/admin.py
,写入如下代码:
这样就简单的注册好了。
4.4、登录后台
启动server,在浏览器中输入http://127.0.0.1:8000/admin/
输入刚刚创建的管理员账号,登录进去:
点击Article posts
进入ARTICLE
版块:
点击右上角的ADD ARTICLE POST
添加数据:
仔细看一下表单中的每一项,发现与ArticlePost中的字段完全符合;因为updated字段指定了自动添加,这里就没显示了。
添加完点SAVE即可。
五、检视数据库
通过上面的操作,我们的数据库中已经有1条用户数据、3条文章数据了。有的时候需要检查数据库中的数据是否正确,但是项目中的数据库文件db.sqlite3又无法直接打开,可以下载一个SQLite数据可视化的软件即可。