Django学习教程(十一)实现博客数据返回页面

Django学习教程(十一)实现博客数据返回页面

前言

  上一篇我们学习了Django Admin后台管理模块,可以通过后台新增、修改和删除文章数据。这一篇我们来学习怎样把数据库中的博客文章数据返回到页面中。

  前面我们已经创建了Article模型,也可以通过Admin后台添加文章数据。现在我们要做的就是在视图函数中查询文章,然后把文章内容返回给浏览器。

1.准备文章数据

首先可以先进入Django Admin后台,添加几篇文章数据。

访问地址:

复制代码
http://127.0.0.1:8000/admin/

添加几篇Article文章,方便后面测试。

2.编写视图函数

打开blog应用下的views.py文件。

代码:

复制代码
from django.http import HttpResponse
from .models import Article


def article_list(request):
    articles = Article.objects.all()

    result = ""
    for article in articles:
        result += article.title + "<br/>"

    return HttpResponse(result)

这里使用Article.objects.all()查询所有文章数据。

然后通过for循环遍历文章,把文章标题拼接到result字符串中。

3.配置路由

打开项目中的urls.py文件,添加路由。

代码:

复制代码
from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('articles/', views.article_list),
]

4.启动项目

启动项目。

命令:

复制代码
python manage.py runserver

浏览器访问:

复制代码
http://127.0.0.1:8000/articles/

如果页面中能看到文章标题,说明数据已经成功返回到页面中。

5.显示文章内容

也可以把文章内容一起返回。

代码:

复制代码
from django.http import HttpResponse
from .models import Article


def article_list(request):
    articles = Article.objects.all()

    result = ""
    for article in articles:
        result += article.title + "<br/>"
        result += article.content + "<br/>"
        result += "<hr/>"

    return HttpResponse(result)

运行后,页面中会显示文章标题和文章内容。

6.总结

  这一篇我们学习了怎样在视图函数中查询博客文章数据,并通过HttpResponse返回给浏览器。

  不过这种方式是直接拼接字符串,页面不够美观,也不方便维护。下一篇我们会使用Bootstrap搭建一个静态博客页面,如果对你有帮助,点赞加关注,下篇见。

相关推荐
JavaWeb学起来1 天前
Django学习教程(十)Django Admin后台管理模块
python web·django教程·django学习·django基础
JavaWeb学起来2 天前
Django学习教程(九)Django Shell基本使用
python web·django教程·django学习·django基础
JavaWeb学起来5 天前
Django学习教程(八)Django数据迁移migrations
python web·django教程·django学习·django基础
JavaWeb学起来6 天前
Django学习教程(七)创建博客文章模型
python web·django教程·django学习·django基础
JavaWeb学起来7 天前
Django学习教程(六)模型层Model基本介绍
python web·django教程·django学习·django基础
JavaWeb学起来8 天前
Django学习教程(五)Django HelloWorld入门案例
python web·django教程·django学习·django基础
JavaWeb学起来9 天前
Django学习教程(四)Django项目目录结构介绍
python web·django教程·django学习·django基础
JavaWeb学起来12 天前
Django学习教程(三)创建Django应用
python web·django教程·django学习·django基础
JavaWeb学起来14 天前
Django学习教程(二)创建Django项目
python web·django教程·django学习·django基础