Django와 AJAX가 웹 페이지의 동적 데이터 표시를 실현하는 예시 코드

앞말


이 부분은 이미 나를 이틀 동안 괴롭혔지만 여전히 실마리가 없다. 아마도 더 오래 괴롭힐 것이다. 마지막에 3일 오전에 문제를 해결하고 눈에 띄지 않는 곳에서 구덩이가 되었다. jQuery가 불러온 문제이다.아는 사람은 어렵지 않지만, 어려운 사람은 그렇지 않으니, 뒤에 있는 사람이 길을 덜 걷기를 바란다.

환경

  • windows10
  • pycharm2017.3.3 professional edition
  • python3.6.4
  • django2.0.2
  • 방법


    백그라운드 읽기 데이터 함수를 만듭니다. 백그라운드가 데이터베이스에서 데이터를 읽는 데 사용됩니다.뷰에서.py 파일에 다음 코드 추가
    
    from django.http import JsonResponse
    
    def data_fresh(request):
      context = {"data1": Test.objects.order_by("-time")[0].temp1,
            "data2": Test.objects.order_by("-time")[0].temp2}
      return JsonResponse(context)
    
    
  • data_fresh는 함수 이름입니다
  • Test는 Django 프로젝트의 모델입니다
  • order_by("-time")[0]는 시간열에 따라 첫 번째 줄의 데이터를 역순으로 배열하고 취하는 것을 가리킨다
  • temp1은 첫 줄 데이터에 있는temp1 데이터입니다.
  • 만약 데이터베이스 데이터가 없다면 직접 고정된 데이터로 써서 테스트해도 된다
    HTML 페이지에서 함수에 액세스할 수 있도록 함수를 로드합니다.urls에 있습니다.py 코드 추가
    
    urlpatterns = [
      path('data_fresh/', views.data_fresh, name="data_fresh"),
    ]
    
    프런트엔드에서 jQuery를 사용하여 백그라운드 함수에 접근합니다. 데이터의 동적 표시를 실현하려면 시간 프로그램을 추가하고 HTML 페이지에 다음 코드를 삽입해야 합니다.
    
    <script>
      $(document).ready(function(){
        function refresh(){
          $.getJSON("/data_fresh/", function (ret) {
            $('#result').html(ret.data1);
            $('#result2').html(ret.data2);
          })
        }
        setInterval(refresh, 3000)
      })
    </script>
    
    위의 프로그램은 1단계의temp1과temp2를result1과result2의 탭으로 id에 기록합니다
    이 글은 Django와 AJAX가 웹 동적 데이터 디스플레이를 실현하는 예시 코드에 대한 소개입니다. 더 많은 Django AJAX 동적 데이터 디스플레이 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기