使用django个人博客视图文件功能

具有以下功能模块

  • 博客首页
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'))

猜你喜欢

转载自blog.csdn.net/qq_53075298/article/details/120478513
今日推荐