具有以下功能模块
- 博客首页
def index(request):
return render(request, 'app01/demo_index.html')
- 添加博客
def blog_add(request):
# 如果是get请求是访问方式
if request.method == 'GET':
return render(request, 'app01/demo_add.html')
if request.method == 'POST':
print(request.method)
title = request.POST.get('title') # 获取文章标题
content = request.POST.get('content') # 获取文章内容
blog = BlogModel(title=title, content=content)
blog.save() # 把数据保存在数据库中
b_list = BlogModel.objects.all() # 查询所有的文章
return render(request, 'app01/demo_list.html', context={'b_list': b_list})
- 博客列表
# 博客列表
def blog_list(request):
b_list = BlogModel.objects.all() # 查询文章
return render(request, 'app01/demo_list.html', context={'b_list': b_list})
- 文章详情
# 文章详情
def blog_detail(request, blog_id):
blog = BlogModel.objects.get(id=blog_id)
return render(request, 'app01/demo_detail.html', context={'blog': blog})
- 文章删除
# 文章删除
def blog_delete(request, blog_id):
blog = BlogModel.objects.filter(id=blog_id) # 必须是filter如果是get则不行只能获取
if blog:
blog.delete() # 删除文章
return redirect(reverse('blog_list'))
else:
return HttpResponse('该文章不存在,无法删除!')
- 文章编辑
from django.views import View # 类视图
class Blog_update(View): # 让定义的类变成类视图
def get(self, request, blog_id):
blog = BlogModel.objects.get(id=blog_id)
return render(request, 'app01/demo_edit.html', context={'blog': blog})
def post(self, request, blog_id):
title = request.POST.get('title')
content = request.POST.get('content')
BlogModel.objects.filter(id=blog_id).update(title=title, content=content)
return redirect(reverse('blog_list'))