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搭建一个静态博客页面,如果对你有帮助,点赞加关注,下篇见。