【发布时间】:2016-12-20 10:30:58
【问题描述】:
首先,这个问题已经被问过here,但是答案不起作用,并且也适用于 Django 1.3。在对 SO、Django Docs 和一般谷歌搜索的类似问题进行了广泛研究之后,我仍然找不到有效的答案。不是真正的主要细节,但在尝试使用我正在创建的表单时很烦人,因为我无法解决它。
在 ModelForm 中使用 SelectDateWidget 时,我希望能够将小部件的默认设置为今天的日期。
forms.py
from django import forms
from .models import Article
from django.utils import timezone
class ArticleForm(forms.ModelForm):
publish=forms.DateField(widget=forms.SelectDateWidget(), initial = timezone.now)
class Meta:
model = Article
fields = [
'title',
...
'publish',
]
models.py
from django.conf import settings
from django.core.urlresolvers import reverse
from django.db import models
from django.utils import timezone
from Blog.models import Category
class Article(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length = 120, unique=True)
...
publish = models.DateField(default=timezone.now)
我假设我在某处有一些语法错误,但发现它并不快乐。
【问题讨论】:
-
你得到什么错误?
-
@v.s.danilov 我本身没有收到错误,只是小部件从预设到 2016 年 1 月 1 日永远不会改变,无论我如何使用 Model 或 ModelForm
标签: python django django-models django-forms