是否可以用Django制作一个实时时钟?

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

我知道Django有一个函数可以获取当前时间。但是,它不能持续更新用户界面的时间(实时时钟)。

获取当前时间的代码。

views.py

from datetime import datetime
from django.shortcuts import render

def clock(request):
    now = datetime.now()
    context = {
        'current_time': now.strftime('%Y-%m-%d %H:%M:%S')
    }
    return render(request, 'clock.html', context)

clock.html

{% extends "base.html" %}

{% block content %}
    <h1>Current Time:</h1>
    <p>{{ current_time }}</p>
{% endblock %}
python html css django real-time
1个回答
0
投票

我的解决方案

时间.js

function updateServerTime() {
    $.getJSON('/server-time/', function(data) {
      $('#server-time').text(data.server_time);
    });
  }
  
  $(document).ready(function() {
    updateServerTime();
    setInterval(updateServerTime, 1000);
  });

views.py

def server_time(request):
    now = datetime.now()
    response_data = {'server_time': now.strftime('%Y-%m-%d %H:%M:%S')}
    return JsonResponse(response_data)

urls.py

path('server-time/',views.server_time,name="server_time"),

time.html

<div class="time">
    <span id="server-time"></span>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="{% static 'js/time.js' %}"></script>
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.