- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
正在显示当前日期,但它显示在文本框中。我如何获得日期选择器???
models.py
class Comment(models.Model):
title = models.CharField(max_length=100)
text = models.CharField(max_length=100)
notes = models.CharField(max_length=100)
date = models.DateTimeField("Date", default=datetime.date.today)
def __str__(self):
return self.title
forms.py
class MyCommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ['title', 'text', 'notes', 'date']
views.py
def add_model(request):
if request.method == 'POST':
form = MyCommentForm()
if form.is_valid():
model_instance = form.save(commit=False)
model_instance.timestamp = timezone.now()
model_instance.save()
# return redirect('/')
else:
form = MyCommentForm()
return render(request, "form/my_template.html", {
'form': form,
})
my_template.html To render the form elements
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="submit"/>
</form>
</body>
</html>
最佳答案
假设:您只是让 Django 在模板中按原样呈现字段。
Django 本身不提供日期选择器小部件,正如您所发现的,Django 用于表示 DateTimeField 的“小部件”是一个简单的文本字段。
要使用日期选择器小部件进行此渲染,您有三个选项:(如果你只是想要一个解决方案,请直接跳到第三个)
datetime-local
的 type
传递给内置 Django 小部件的小部件(不是推荐的方法)
您可以将类型
传递给小部件,以便让它提供在浏览器中呈现的特定字段类型。例如
from django.forms.widgets import DateTimeWidget
class MyCommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ['title', 'text', 'notes', 'date']
widgets = {
'date': DateTimeInput(attrs={'type': 'datetime-local'}),
}
这将导致字段具有 datetime-local
类型,并且某些浏览器将呈现用于输入日期和时间的小部件。
执行此操作时需要注意的一个重要事项是,字段的值
的日期格式(因为它将在模板中呈现)非常重要。它必须是 RFC 3339 格式(例如 2001-10-08T22:47:31-07:00 - PyPI 中有一个 RFC 3339 包 https://pypi.python.org/pypi/rfc3339/ )
浏览器对 native 日期时间小部件的支持很差,并且让 Django 的输出与 datetime-local
字段所需的值相匹配很烦人。幸运的是,有很多 javascript 库可以提供日期选择器(bootstrap 有一个,比如 Flatpickr )
有一些插件(例如 django-datetime-widget 和 django-bootstrap3-datetimepicker )允许您使用 Python 类在 Django 表单中添加小部件,然后将呈现基于 Javascript 的小部件在客户端。
如果您能找到一个您满意的插件(即它提供了您喜欢的日期/时间选择器),那么这肯定是我推荐的选项 - 主要是因为该插件应该请注意确保 Django 的输出采用基于 Javascript 的选择器可以处理的格式,并且字段中的结果是 Django 可以处理的。
我应该注意:我个人没有使用过任何这些日期时间选择器。
关于python - 显示文本框而不是日期选择器的 DateTimeField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623490/
我认为这里可能缺少一些非常简单的东西,但我找不到它。 我的 django 项目中有一个自定义管理命令,它应该迭代 Record 模型的实例并将它们写入 xlsx 文件。 我正在使用 xlsxwrite
在 Django 中:我有一个日期和时间需要输入到我的数据库模型中,其中有一列 models.DateTimeField() .似乎无论我做什么,我都会收到 ValidationError: ente
我正在尝试从 postgreSQL 数据库中查询过去一小时的数据, 这是 Django 中的表模型: class data(models.Model): fecha = models.Text
你好,我有一个这样的模型: from datetime import datetime class Project(models.Model): created = models.DateTi
嗨,我的 Django 模型之一具有以下字段 created_at = models.DateTimeField(blank=True,null=True) 但是,当我检查数据类型时,它显示为 Str
我有一个博客,我发表了很多文章。每篇文章都有一个发表日期,有时我不得不编辑这个日期。一切都在 Django 管理面板上运行,自从我决定在我的 admin.py 中添加 DateTimeField 以来
我的模型中有一个 DateTime 字段,我正在寻找一种简单的方法来使其在表单中看起来不错。类似于SelectDateWidget。 我一直在研究很多类似的问题,并且让像 admin datepick
我有一个表示事件开始时间的字段,我为此使用 Django DateTimeField。此字段是强制性的,但有时用户只知道开始日期而不知道时间。无论如何,是否可以将时间部分设为可选并保留日期部分为强制?
以下模型的日期字段需要一个默认值: from django.utils import timezone as django_tz import psycopg2 class AvailabilityR
我有一个 DateTimeField,用户必须在其中手动输入日期和时间(YYYY-MM-DD Hour:Minute am/pm)。我希望能够使用 Django 日历输入让用户选择一个日期,而不必输入
我创建了一个要测试的事务表,该表最重要的字段之一是: models.DateTimeField( default=timezone.now) 为了使用数据库测试我的应用程序,我
正在显示当前日期,但它显示在文本框中。我如何获得日期选择器??? models.py class Comment(models.Model): title = models.CharField
我有一个带有 DateTimeField 的模型: deadline = models.DateTimeField(verbose_name="Valid unitl", null=True, bla
我的“日期”字段怎么没有出现在管理系统中? 在我的 admin.py 文件中 from django.contrib import admin from glasses.players.models
我有带有 DateTimeField 列的模型。 我正在尝试通过 sql 查询将具有数据库 current_time 值的行直接插入到表中。 我对 MySQL 数据库的 sql 查询如下: INSER
前言 今天在项目中遇到一个Django的大坑,一个很简单的分页问题,造成了数据重复。最后排查发现是DateTimeField 属性引起的。 下面描述下问题,下面是我需要用到的一个 Task Mo
我有模型 class Item(models.Model): inicio = models.DateTimeField() 当我尝试进行此查询时: itens = Item.objects.
当我将带有时区信息的时间例如:2013-02-27T14:00:00-05:00 发布到 Django 日期时间字段时,会抛出一个表单错误“输入有效的日期/时间。”。 我的表单域定义如下 time
我正在使用 Django 2.2 在我的应用程序中,时区支持由 启用USE_TZ=真在设置文件中。 我有带 的模型日期时间 领域created . 我需要根据日期过滤数据。日期可以由用户提供,否则默认
我刚刚注意到 model_to_dict 的一个错误,它跳过模型中的所有 DateTimeField 并且从不将它们转换为字典,而使用 QuerySet 的 values() 函数则没有。我在互联网上
我是一名优秀的程序员,十分优秀!