5

我在做完全相同的Django admin datepicker calendar 和 clock img ,我遇到了同样的问题,但它在 django 1.4 上工作得非常好,但是当我将它更新到 django 1.5 时,它给了我这个错误

'adminmedia' 不是有效的标签库:找不到模板库 adminmedia,尝试 django.templatetags.adminmedia,django.contrib.staticfiles.templatetags.adminmedia,django.contrib.admin.templatetags.adminmedia,django.contrib.humanize.templatetags .adminmedia,jobpost.templatetags.adminmedia,crispy_forms.templatetags.adminmedia,tinymce.templatetags.adminmedia,haystack.templatetags.adminmedia

这是我的代码:

{% load adminmedia %}


{% load i18n %}
{% load crispy_forms_tags %} 
{% block content %}

<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/my_admin/jsi18n/"></script>
<script type="text/javascript" src="/media/admin/js/core.js"></script>
{{ form.media }}
<link rel="stylesheet" type="text/css" href="/static/admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/global.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css"/>

<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js">      </script>
<script type="text/javascript" src="/static/admin/js/jquery.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.js"></script>
<script type="text/javascript" src="/static/admin/js/calendar.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/DateTimeShortcuts.js"> </script>
<script type="text/javascript">
window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{%    endfilter %}";
</script>
<script type = “text/javascript” src=”../jscripts/tiny_mce/tiny_mce.js”&gt;</script> 

<script>

通过这样做,我将显示来自 /static/admin/img/icon_calender.jpg 的日历小部件的图像。但管理媒体选项在 django 1.5 或更高版本中已弃用,所以我将其替换为静态媒体选项,这是新代码:

{% load staticfiles %}

{% load i18n %}
{% load crispy_forms_tags %} 
{% block content %}

<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/my_admin/jsi18n/"></script>
<script type="text/javascript" src="/media/admin/js/core.js"></script>
{{ form.media }}
<link rel="stylesheet" type="text/css" href="/static/admin/css/forms.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/global.css"/>
<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css"/>
<link href="{% static 'admin/css/login.css' %}" rel="stylesheet">

它看起来像这样:

在此处输入图像描述

我的日历图标不见了。谁能告诉我 1.5 版中这个问题的替代方案是什么

帮助将不胜感激

4

3 回答 3

1

响应就在这里,在 1.5 发行说明中:https ://docs.djangoproject.com/en/dev/releases/1.5-beta-1/#miscellaneous

{% admin_media_prefix %}弃用,您必须将其从模板中删除。(包括 every {% load adminmedia %},这会导致异常)。我猜必须有一个替换这个标签的设置。

于 2013-06-26T11:52:19.623 回答
1

所以django 1.5给了我噩梦所以我通过使用直接jquery datpicker解决了我的问题这里是jquery datepicker

我所要做的就是更改在 django 中有点棘手的 id。例如,如果您的日期字段名称是start_date那么 id 将是formtools_start_date 。对于这种日期选择器,您甚至不需要任何图标来显示..这对我有帮助,我希望这对那些升级 django 版本的人也有帮助。

于 2013-06-27T06:11:19.997 回答
1

我今天刚遇到这个问题 - 无法加载管理员 base.css。我将我的站点的 Django 从 v1.2 升级到 v1.5 并遇到了问题。我发现 href 是 /static/admin/css/base.css 并且找不到如何更改它。所以我做了这些:

  1. 将 site-packages/django/contrib/admin/static/admin/* 复制到我的 Django 项目的静态目录中,就像
   最佳/
      静止的/
         行政/
            css/
            js
            图片
  1. 编辑 urls.py,在 urlpatterns = patterns('',...

    (r'^static/(?P.*)$','django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes':True}),

就是这样。有效。

于 2013-10-14T14:47:35.977 回答