Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中获取动态日期?_Python_Django - Fatal编程技术网

Python 如何在django中获取动态日期?

Python 如何在django中获取动态日期?,python,django,Python,Django,我有一个Django站点,在这里我们可以动态获取CurrentWeek和CurrentDate字段。 问题:< /强>考虑4月23日,我启动服务器(使用) python manage.py runserver)然后我就可以正确地获取当前周和当前日期。此外,如果我检查到明天(4月24日)之前,昨天(4月23日)的服务器命令仍然在运行,那么现在它仍然将昨天(4月23日)的日期作为CurrentWeek和CurrentDate,而不是今天(4月24日) 我试着把我的时区改为亚洲/加尔各答,我的设置.p

我有一个Django站点,在这里我们可以动态获取CurrentWeek和CurrentDate字段。 <强>问题:< /强>考虑4月23日,我启动服务器(使用)
python manage.py runserver
)然后我就可以正确地获取当前周和当前日期。此外,如果我检查到明天(4月24日)之前,昨天(4月23日)的服务器命令仍然在运行,那么现在它仍然将昨天(4月23日)的日期作为CurrentWeek和CurrentDate,而不是今天(4月24日)

我试着把我的时区改为亚洲/加尔各答,我的
设置.py
有 这些:

emailinfo.py

from datetime import date

weekNumber = date.today().isocalendar()[1]

currentweek = "week"+str(weekNumber)

from django.db import models
from Taskmanager.email_info import currentweek

class Taskmanager(models.Model):
    CurrentSprint = models.CharField(max_length=10, 
                                     default=currentweek, 
                                     choices=week_number)
    todaydate = models.DateField()
class Tasksadd(forms.ModelForm):
    todaydate = forms.DateField(widget=forms.SelectDateWidget, 
                                initial=datetime.date.today())
    class Meta:
        model = Taskmanager
        fields = [
                  'CurrentSprint', 'todaydate',
                 ]
型号.py

from datetime import date

weekNumber = date.today().isocalendar()[1]

currentweek = "week"+str(weekNumber)

from django.db import models
from Taskmanager.email_info import currentweek

class Taskmanager(models.Model):
    CurrentSprint = models.CharField(max_length=10, 
                                     default=currentweek, 
                                     choices=week_number)
    todaydate = models.DateField()
class Tasksadd(forms.ModelForm):
    todaydate = forms.DateField(widget=forms.SelectDateWidget, 
                                initial=datetime.date.today())
    class Meta:
        model = Taskmanager
        fields = [
                  'CurrentSprint', 'todaydate',
                 ]
forms.py

from datetime import date

weekNumber = date.today().isocalendar()[1]

currentweek = "week"+str(weekNumber)

from django.db import models
from Taskmanager.email_info import currentweek

class Taskmanager(models.Model):
    CurrentSprint = models.CharField(max_length=10, 
                                     default=currentweek, 
                                     choices=week_number)
    todaydate = models.DateField()
class Tasksadd(forms.ModelForm):
    todaydate = forms.DateField(widget=forms.SelectDateWidget, 
                                initial=datetime.date.today())
    class Meta:
        model = Taskmanager
        fields = [
                  'CurrentSprint', 'todaydate',
                 ]
任务创建.html

<div class="container">
    <div class="row ml-auto">
        <div class="col-sm-offset-3 col-sm-6">
                 <form method="POST" action=".">
                  {% csrf_token %}
                   </br>
                    <h3>Add tasks here:</h3>
                      {{ form|crispy }}
                         <input type="submit" name="submit" 
                             class="btn btn-info" 
                             placeholder="Submit">
                  </form>
               </div>
        </div>
 </div>


{%csrf_令牌%}

在此处添加任务: {{form | crispy}}

我希望无论何时创建任务,我都需要CurrentWeek和CurrentDate字段动态填充特定日期的确切当前日期。但是,它以我启动服务器的日期为准。

currentweek应该是一个函数,例如:

from datetime import date

def currentweek():
    weekNumber = date.today().isocalendar()[1]
    return "week{}".format(weekNumber)

在您的情况下,
currentweek
是一个常量,在服务器启动时只计算一次,因此您在开发过程中没有任何问题,因为您每天都要启动。

您使用return关键字作为常量是否正确或您遗漏了什么对不起,这是一个错误修复。