如何在Django日期字段中有日历项

2024-05-20 12:28:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django有个Datetime字段

update_date     = models.DateField()

但我想弹出日历。在文件里他们说要写这个

class CalendarWidget(forms.TextInput):
    class Media:
        css = {
            'all': ('pretty.css',)
        }
        js = ('animations.js', 'actions.js')

现在我没什么问题了

  1. 在何处声明该类以及如何使用它
  2. 我没有pretty.css,animation.css,怎么能得到它
  3. 我需要为它做编程吗??

Tags: 文件djangodatetimedatemodelsjsprettyupdate
1条回答
网友
1楼 · 发布于 2024-05-20 12:28:59

Django不包括'pretty.css'、'animations.js'和'actions.js'文件,文档中的这段代码只是一个示例。您的职责是为更漂亮的小部件编写代码——我个人喜欢jQuery小部件(参见下面的参考链接)。从文档中:

Which JavaScript toolkit? Many JavaScript toolkits exist, and many of them include widgets (such as calendar widgets) that can be used to enhance your application. Django has deliberately avoided blessing any one JavaScript toolkit. Each toolkit has its own relative strengths and weaknesses - use whichever toolkit suits your requirements. Django is able to integrate with any JavaScript toolkit.

假设您已经为您喜欢的小部件定义了所有css和js,那么在ModelForm中,您必须重写field小部件,如下所示:

class SomeForm(forms.ModelForm):
    ...
    update_date = forms.CharField(widget=CalendarWidget)
    ...

不要忘记在模板头显示form media

看看这些答案:

  1. What's the cleanest, simplest-to-get running datepicker in Django?
  2. https://groups.google.com/group/django-users/browse_thread/thread/8bd4675ba642ebcb?pli=1

相关问题 更多 >