没有在 Django 中提交的评论表

问题描述 投票:0回答:0

我在 Jason 的帮助下在 Django 中创建了一个评论页面。

但是当我尝试提交表单时,它返回一个错误page not found

我想向任何人寻求我在代码中犯错的地方

最后试穿的时候

a=ActionGame.objects.get(id=id)
它返回一个错误 id not defined

我请求任何支持,我欢迎任何想法

Action/Views.py

#Add action game description detail function





def action_description(request, description):
    description=get_object_or_404(Action_Game,slug=description)
   
    
    #getting each game reviews
    reviews = ActionGameReview.objects.filter(game_name=get_object_or_404(Action_Game, game_name=description))
    #getting latest 4 game review
    lt_reviews = reviews[:4]
    #getting Average Review
    avg_rating=ActionGameReview.objects.filter(game_name=get_object_or_404(Action_Game, game_name=description)).aggregate(rating=Avg('rate'))
    #game review form
    review_form=ActionReviewForm()
   
    context={
        'description':description,
        'action_ds_random':action_ds_random,
        'reviews':reviews,
        
        'lt_reviews':lt_reviews,
        'avg_rating':avg_rating,
        
        
        'review_form':review_form,
    }
    return render(request, 'Blog/action-description.html', context)



#Add review function 

def ajax_add_review(request, descript):
    game_review=ActionGameReview.objects.get(game_name=get_object_or_404(Action_Game, game_name=descript))
    user=request.user
    review = Action_Game.objects.create(
        user=user,
        game_name=game_name,
        subject=request.POST['subject'],
        rate=request.POST['rete']
    )
    context={
        'user':user.username,
        'subject':request.POST['subject'],
        'rate':request.POST['rate'],
    }
    avg_rating=ActionGameReview.objects.get(game_name=get_object_or_404(Action_Game, game_name=descript)).aggregate(rating=Avg('rate'))
    
    return JsonResponse(
        {
        'bool': True,
        'context': context,
        'avg_rating':avg_rating,
        
        }
    )



Action/function.js*


console.log("working fine");



$("#commentForm").submit(function(e){
    e.preventDefault();

    $.ajax({
        data: $(this).serialize(),


        method: $(this).attr("method"),

        url: $(this).attr("action"),

        dataType: "json",

        success: function(response){
            console.log('Saved comment to db..')
        }
    })

   
})




Action/url.py

path('action/<slug:description>/',views.action_description, name='action_description'),






    #add review
    path('ajax-add-review/<slug:descript>/', views.ajax_add_review, name='ajax_add_review'),
  

Blog/action-description.html

 <hr>
.......
    <form action="{% url 'ajax_add_review' description.slug   %}" method="POST" id="commentForm" class="commentForm">
      {% csrf_token %}
......

json django-views django-forms django-templates django-urls
© www.soinside.com 2019 - 2024. All rights reserved.