Python 如何在django中获取动态日期?
我有一个Django站点,在这里我们可以动态获取CurrentWeek和CurrentDate字段。 <强>问题:< /强>考虑4月23日,我启动服务器(使用)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
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关键字作为常量是否正确或您遗漏了什么对不起,这是一个错误修复。