django如何显示一周的数据

django how to display a weeks data

嗨,谢谢你帮助我

我正在浏览 google 和堆栈溢出,但是文档 django 和 python 我很难理解,它们是如何编写代码的 运行

我只是想不出一种方法来显示周数据(table & 图表) 两个切换按钮 切换一年中 53 周的不同周

我曾尝试在 Django 模板标签中使用周; https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#date 但我得到的是空值;这里我做的例子 {{ value|date:"W" }}

有没有简单的方法可以做到这一点?我不想使用 weekarchiveview: https://docs.djangoproject.com/en/2.1/ref/class-based-views/generic-date-based/#weekarchiveview

因为我需要在同一页面上的年、月和周之间切换。

下面是我的代码

这是我的视图代码

from django.shortcuts import render
from django.views.generic import ListView, DetailView ,TemplateView
from zigview.models import tank_system

from django.utils import timezone
from datetime import date, timedelta    
class EC(ListView):
        model = tank_system
        template_name = 'FrounterWeb/extends/EC.html'
        ordering = ['-datetime']  # sort dates in descending order

        def get_context_data(self, **kwargs):
            return {'tank': self.get_queryset()}

这是我的应用url代码

from django.urls import path
from . import views #function views
from django.views.generic.base import TemplateView
from django.contrib.auth.decorators import login_required, permission_required

urlpatterns = [

    path('',login_required(views.index.as_view()), name='index'), # views to call our index
    path(r'', TemplateView.as_view(template_name='index.html'), name = 'myapp'), # tell django the which path to our main page
    path(r'liveSterm/', login_required(views.Strem), name='Livesterm'), #call live strem page
    path(r'EC-data/', login_required(views.EC.as_view()), name='EC'),
    path(r'ph-data/', login_required(views.ph.as_view()), name='ph'),
    path(r'Water-Temptures/', login_required(views.WT.as_view()), name='WT'),
    path(r'Room-Temptures/', login_required(views.RT.as_view()), name= 'RT'),
    path(r'Water-Flow-IN/', login_required(views.WaterFlowIN.as_view()), name= 'WFI'),
    path(r'Water-Flow-OUT/', login_required(views.WaterFlowOUT.as_view()), name= 'WFO'),
    ]

这是我的模型代码

from django.db import models
from django.utils import timezone
from decimal import Decimal
# having errors KeyError: "'__name__' not in globals"

class tank_system(models.Model):

    PH = models.DecimalField(max_digits=3, decimal_places=1)
    EC = models.DecimalField(max_digits=3, decimal_places=1)
    Winlet = models.DecimalField(max_digits=3, decimal_places=1)
    Woutlet = models.DecimalField(max_digits=3, decimal_places=1)
    WaterLevel = models.IntegerField(default=500)
    TempWater = models.IntegerField(default=25)
    TempRoom = models.IntegerField(default=25)
    tanks = models.IntegerField(default=1)
    datetime = models.DateTimeField(default=timezone.now())

您的上下文中没有 'value'。上下文只有 'tank'。因此,要获取日期时间,您可以使用 {{ tank.datetime|date:"W" }}

要在单击按钮后进行切换,您可以编写一段简单的 javascript,将 DOM 的某个部分的内部 html 更改为 {{ tank.datetime|date:"W" }} , {{ tank.datetime|date:"M" }} 等 点击按钮后