cari

Rumah  >  Soal Jawab  >  teks badan

Isu borang Django?

Mengenai isu borang Django
Mula-mula berikan models.py dan forms.py

Penerangan gambar

Beri kami kod view.py sekali lagi

def articleUpdate(request, articleId):
'''
Update the article instance:   
1. Get the article to update; redirect to 404 if not found
2. Render a bound form if the method is GET
3. If the form is valid, save it to the model, otherwise render a
bound form with error messages
'''
articleToUpdate = get_object_or_404( Article, id=articleId)
template = 'article/articleCreateUpdate.html'
if request.method == 'GET':
    print(ArticleForm(instance=articleToUpdate))
    articleForm = ArticleForm(instance=articleToUpdate)
    return render(request, template, {'articleForm':articleForm, 'article':articleToUpdate})
# POST
articleForm = ArticleForm(request.POST, instance=articleToUpdate)
if not articleForm.is_valid():
    return render(request, template, {'articleForm':articleForm, 'article':articleToUpdate})
articleForm.save()
messages.success(request, '文章已修改')
return redirect('article:articleRead', articleId=articleId)

def commentCreate(request, articleId):

    '''
Create a new article instance
1. If method is GET, render an empty form
2 . If method is POST, perform form validation. Display error messages if the form is invalid
3. Save the form to the model and redirect to the article page
'''
    
    template = 'article/commentCreate.html'
    articleToUpdate = get_object_or_404( Article, id=articleId)
    if request.method == 'GET':
        return render(request, template,{'commentForm':CommentForm(),             'article':articleToUpdate})
    # POST
    
    commentForm = CommentForm(request.POST, instance=articleToUpdate)
    if not commentForm.is_valid():
        return render(request, template, {'commentForm':commentForm(), 'article':articleToUpdate})
    commentForm.save()
    messages.success(request,'留言已新增')
    return redirect('article:articleRead',articleId=articleId)

Kedua-dua kaedah ini hampir sama, kedua-duanya menggunakan borang, tetapi borang yang saya gunakan tidak sama jenis, satu Borang Artikel dan satu lagi Borang Komen, tetapi hasilnya muncul dalam paparan: commentCreate dan kesannya sama dengan articleUpdate , Iaitu, menambah mesej menjadi mengubah kandungan artikel

为情所困为情所困2746 hari yang lalu726

membalas semua(1)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-18 10:54:14

    Borang adalah kelas Jika anda mengeluarkan data, mengapa tidak mengisinya ke dalam borang?

    else:
            form = CommentsForm(request.POST)
            if form.is_valid():

    balas
    0
  • Batalbalas