美文网首页Django
Django搭建个人博客:View视图初探

Django搭建个人博客:View视图初探

作者: 9ba4bd5525b9 | 来源:发表于2019-03-19 15:32 被阅读50次

    Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」。比如,在一个博客应用中,你可能会创建如下几个视图:

    博客首页:展示最近的几项内容。

    内容“详情”页:详细展示某项内容。

    评论处理器:用于响应为一项内容添加评论的操作。

    这些需求都靠视图(View)来完成。

    Hello World!

    首先写一个最简单的视图函数,在浏览器中打印出Hello World!字符串。

    打开article/views.py,写出视图函数:

    在 Django 中,网页都是从视图派生而来。每一个视图表现为一个简单的 Python 函数,它必须要做的只有两件事:返回一个包含被请求页面内容的 HttpResponse对象,或者抛出一个异常,比如 Http404 。至于你还想干些什么,随便你。

    视图函数中的request与网页发来的请求有关,里面包含get或post的内容、用户浏览器、系统等信息。Django调用article_list函数时会返回一个含字符串的 HttpResponse对象。

    有了视图函数,还需要配置URLconfs,将用户请求的URL链接关联起来。换句话说,URLconfs的作用是将URL映射到视图中。

    在前面的文章中已经将项目/article的URL分发给了article应用,因此这里只需要修改之前添加的article/urls.py就可以。添加以下代码:

    Django 将会根据用户请求的 URL 来选择使用哪个视图。本例中当用户请求article/article-list链接时,会调用views.py中的article_list函数,并返回渲染后的对象。参数name用于反查url地址,相当于给url起了个名字,以后会用到。

    测试一下刚才敲的代码是否工作正常。

    在虚拟环境中,进入项目目录,也就是my_blog文件夹,输入python manage.py runserver,运行调试服务器:

    成功运行后,打开浏览器,输入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应用分发的地址。

    运气好的话,浏览器中会打印出Hello World!字符串:

    不到10行代码就完成了基本功能,是不是很神奇。

    当然,只是小试牛刀。

    准备工作

    在前面章节编写Model模型中虽然定义了数据库表,但是这个表是空的,不方便展示View调取数据的效果。所以在写View之前,需要往数据表里记录一些数据。接下来就做这个工作。

    网站后台概念

    网站后台,有时也称为网站管理后台,是指用于管理网站的一系列操作,如:数据的增加、更新、删除等。在项目开发的初期,因为没有真实的用户数据和完整的测试环境,会频繁地使用后台修改测试数据。

    幸运的是Django内置了一个很好的后台管理工具,只需要些少量代码,就可以实现强大的功能。

    创建管理员账号(Superuser)

    管理员账号(Superuser)是可以进入网站后台,对数据进行维护的账号,具有很高的权限。这里我们需要创建一个管理员账号,以便添加后续的测试数据。

    虚拟环境中输入python manage.py createsuperuser指令,创建管理员账号:

    指令会提示你输入账号名字、邮箱和密码,根据喜好填入即可创建成功。

    将ArticlePost注册到后台中

    接下来我们需要“告诉”Django,后台中需要添加ArticlePost这个数据表供管理。

    打开article/admin.py,写入以下代码:

    这样就简单的注册好了。

    在后台中遨游

    细心的同学可能已经发现,Django项目生成的时候就自动配置好了后台的settings和url,因此不需要我们再操心了。

    启动server,在浏览器中输入http://127.0.0.1:8000/admin/,一切正常的话就看到下面的登录界面了:

    输入刚才创建的管理员账号,登录进去:

    红框内就是刚才添加的ArticlePost数据表,点击进入后,再点击右上角的ADD ARTICLE POST按钮,到达如下页面:

    可以看到ARTICLE POST中多了刚才录入的一条数据。按照同样的方法,再写入几条数据:

    至此准备工作就已经大功告成。

    相关文章

      网友评论

        本文标题:Django搭建个人博客:View视图初探

        本文链接:https://www.haomeiwen.com/subject/jxzgmqtx.html