1. 页面展示
1.在home.views.py文件中定义视图
from django.views import View
class DetailView(View):
def get(self,request):
return render(request,'detail.html')
2.在home.urls.py文件中定义路由
from users.views import DetailView
urlpatterns = [
# 参数1:路由
# 参数2:视图函数
# 参数3:路由名,方便通过reverse来获取路由
path('detail/', DetailView.as_view(),name='detail'),
]
3.修改detail.html中的资源加载方式
{% load staticfiles %}
...
...
写文章
个人信息
退出登录
2. 首页接口设计
1.请求方式
| 选项 | 方案 |
|---|---|
| 请求方法 | POST |
| 请求地址 | /?id=xxx&page_num=xxx&page_size=xxx |
2.请求参数
| 参数名 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
| id | string | 否 | 文章id |
| page_num | string | 否 | 评论页码 |
| page_size | string | 否 | 评论每页条目数 |
3.响应结果:HTML
| 字段 | 说明 |
|---|---|
| 失败 | 响应错误提示 |
| 成功 | 展示数据 |
3. 查询分类数据并展示
1.查询文章数据并通过context传递给HTML
class DetailView(View):
def get(self,request):
# detail/?id=xxx&page_num=xxx&page_size=xxx
#获取文档id
id=request.GET.get('id')
# 获取博客分类信息
categories = ArticleCategory.objects.all()
try:
article=Article.objects.get(id=id)
except Article.DoesNotExist:
return render(request,'404.html')
context = {
'categories':categories,
'category':article.category,
'article':article,
}
return render(request,'detail.html',context=context)
2.在detail.html文件中使用模板语言展示文章数据
#分类数据展示
{% for cat in categories %}
{% if cat.id == category.id %}
-
关注
打赏
立即登录/注册
微信扫码登录
