无法通过替换Django默认的日期时间小部件来使自定义小部件在Django管理页面中运行

2024-05-03 18:56:07 发布

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

我问过一个问题,但我认为它已经死了。我甚至更新了我的进度。所以在那之后,我对firefox的firebug进行了更多的工作,发现了一些对我来说毫无意义的错误。但在此之前是我的代码:(我的应用程序名是ui

用户界面/管理员py

class MyModelAdmin(admin.ModelAdmin):
    class Media:
        css = {
                "all": ("style/jquery-ui.css",
                        "style/jquery-ui-timepicker-addon.css",)
            }
        js = ("js/jquery-ui.js",
              "js/jquery-ui-timepicker-addon.js",
              "js/tz_widget.js",)

    formfield_overrides = {
            models.DateTimeField : {'widget': TimezoneDate()},
        }

小工具.py

^{pr2}$

这是tz_小工具.js:

$(window).load(function(){
    $(function() {
        $('#date-time-tz').datetimepicker({
        dateFormat: $.datepicker.RFC_2822,
        timeFormat: 'hh:mm:ss z',
        showTimezone: true,
        timezoneList: [
            {"value": "0", "label": "UTC"},
            {"value": "+60", "label": "FRANCE"},
            {"value": "+330", "label": "INDIA"},
            {"value": "-240", "label": "US EAST"},
            {"value": "-420", "label": "US SF"}
        ]
    });       
});
});

所以我想用jQuery UI datetime picker替换django的默认日期时间小部件 现在输入字段中的iddate_time_tz中包含的相同id 我将它作为一个独立的文件运行,其中我将tz_widget.js包含在我的html文件的src中。它起作用了。但在django却没有。在

错误:

TypeError:$未定义 tz公司_小工具.js(第1行) 即:$(window).load(function(){

TypeError:$未定义 js/jquery ui计时器-加载项.js(第20行) 即:$.ui.timepicker = $.ui.timepicker || {};

我认为在这两个地方生产它是同样的错误。我有点糊涂。这里是一个link到jQueryUIDateTimePicker。请指点迷津?在

**更新:**

我将这个部分添加到widget.py中,但是HTML源代码中仍然没有小部件。在

class TimezoneDateForm(forms,Form):
    test = forms.DateTimeField(label="", widget=TimezoneDate())

Tags: 工具pyuivaluestyle错误jsfunction
1条回答
网友
1楼 · 发布于 2024-05-03 18:56:07

对于一个jQuery小部件,您需要在html头中包含jQuery.js(或任何名称)核心库文件。在

TypeError: $ is undefined ...

好像你忘了那样做。在

TimeZoneDate小部件声明该小部件被调用

^{pr2}$

但是js正在尝试使用一种叫做

$('#date-time-tz')

我建议换一个或另一个让它们匹配!可能在小部件中

id=\"date-time-tz\"

相关问题 更多 >