>source

사용자가 페이지에서 클릭한 내용을 기반으로 데이터베이스를 쿼리하고 페이지를 새로 고치지 않고 검색된 데이터를 표시하려고 합니다. 나는 이것을 위해 ajax를 사용하고 있다. code를 보여드리겠습니다

html

<label for="landacq" class="civil-label">Land Acquisation Cases</label><input class="civil-category" type="radio" name="civil-cat" id="landacq" value="land acquisation" hidden><label for="sc" class="civil-label">Supreme Court</label><input class="civil-court" type="radio" name="civil-court" id="sc" value="supreme court" hidden><label for="limitation" class="civil-label">Limitation</label><input class="civil-law-type" type="radio" name="civil-law-type" id="limitation" value="limitation" hidden>

js


for (i= 0; i < lawTypeInput.length; i++) {
  lawTypeInput[i].addEventListener("click", (e)=> {
    e.preventDefault();
    cat= civilCatval;
    court= civilCourtval;
    lawT= civillawTypeval;
    console.log("this is from ajax : ", cat, court, lawT);
    $.ajax({
      type: "POST",
      headers: { "X-CSRFToken": csrftoken },
      mode: "same-origin", //Do not send CSRF token to another domain.
      url: "civil",
      data: {
        "cat[]": civilCatval,
        "court[]": civilCourtval,
        "lawT[]": civillawTypeval,
      },
      success: function (query) {
        showCivilQ(query);
        //console.log(data);
      },
      error: function (error) {
        console.log(error);
      },
    });
  });
}
function showCivilQ(query) {
  q.textContent= query;
  console.log(query);
}

예를 들어 사용자가 html에서 라디오 버튼을 클릭하면 js 파일에서 값을 가져온 다음 POST 요청으로 언급된 URL로 전송됩니다. 이 값은 데이터베이스를 필터링하고 다음과 같은 개체를 반환하는 데 사용됩니다.

views.py

def civil_home(request):
    if request.is_ajax():
      get_cat= request.POST.get('cat[]')
      get_court= request.POST.get('court[]')
      get_lawT= request.POST.get('lawT[]')
      query= Citation.objects.filter(law_type__contains='civil' ,sub_law_type__contains= get_cat, court_name__contains= get_court, law_category__contains= get_lawT)
      return HttpResponse(query)
    else:
      subuser= request.user
      subscription= UserSubscription.objects.filter(user= subuser, is_active= True)
      context= {
        'usersub': subscription,
      }
      return render(request, 'civil/civil_home.html', context)

이것이 올바른 결과입니다.

내 질문은 이러한 개체에 제목, 헤드노트 등과 같은 일부 값이 있는 속성이 포함되어 있다는 것입니다. 인용 제목, 헤드노트와 같은 이미지에 표시된 대로 반환된 개체 이름을 표시하는 대신 html에 이러한 속성을 표시하려면 어떻게 해야 하나요? 인용 등

  • 이전 Dart에서 문자열(따옴표로 묶인 텍스트)이 있는 열거형이 가능합니까?
  • 다음 c# : 조인 및 그룹이 있는 LINQ 최대 날짜