多个表单在一个页面上的视图分离处理

本文探讨了如何在同一个页面上管理多个表单,通过视图分离技术实现各个表单的独立处理,提高用户体验和代码可维护性。
摘要由CSDN通过智能技术生成

V

from django.shortcuts import render, HttpResponse, redirect
from firstapp.models import Article, Comment
from django.template import Context, Template
from firstapp.form import CommentForm

# Create your views here.

def index(request):
    print(request)
    print('==='*30)
    print(dir(request))
    print('==='*30)
    print(type(request))
    queryset = request.GET.get('tag')
    if queryset:
        article_list = Aritcle.objects.filter(tag=queryset)
    else:
        article_list = Article.objects.all()
    context = {}
    context['article_list'] = article_list
    index_page = render(request, 'first_web_2.html', context)
    return index_page

# def detail(request, page_num):
#     if request.method == 'GET':
#         form = CommentForm
#     if request.method == 'POST':
#         form = CommentForm(request.POST)
#         if form.is_valid():
#             name = form.cleaned_data['name']
#             comment = form.cleaned_data['comment']
#             a = Article.objects.get(id=page_num)
#             c = Comment(name=name, comment=comment, belong_to=a)
#             c.save()
#             return redirect(to='detail', page_num=page_num)
#     context = {}
#     #comment_list = Comment.objects.all()
#     article = Article.objects.get(id=page_num)
#     best_comment = Comment.objects.filter(best_comment=True, belong_to=article)
#     context['article'] = article
#     #context['comment_list'] = comment_list
#     context['form'] = form
#     if best_comment:
#         context['best_comment'] = best_comment[0]
#     return render(request, 'article_detail.html', context)
###主视图
def detail(request, page_num, error_form=None):
    context = {}
    form = CommentForm
    article = Article.objects.get(id=page_num)
    best_comment = Comment.objects.filter(best_comment=True, belong_to=article)
    if best_comment:
        context['best_comment'] = best_comment
    context['article'] = article
    if error_form is not None:
        context['form'] = error_form
    else:
        context['form'] = form
    return render(request, 'article_detail.html', context)
###判断表格的视图
def detail_comment(request, page_num):
    form = CommentForm(request.POST)
    if form.is_valid():
        name = form.cleaned_dat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值