Это правда, что лени и динамические привязки могут вызвать проблемы; однако отказ от лени - не единственное решение. Если вы хотите сохранить лень (или использовать динамические привязки с pmap
), используйте bound-fn
или bound-fn*
.
(def ^:dynamic x 0)
=> (binding [x 3] (map #(+ x %) (range 10)))
;; (0 1 2 3 4 5 6 7 8 9)
=> (binding [x 3] (map (bound-fn [y] (+ x y)) (range 10)))
;; (3 4 5 6 7 8 9 10 11 12)
=> (binding [x 3] (map (bound-fn* #(+ % x)) (range 10)))
;; (3 4 5 6 7 8 9 10 11 12)
Вышеупомянутый ответ не рассматривал вопрос 2, по крайней мере непосредственно... "взлом", способ заставить Ваше пользовательское представление обнаруживаться как первая полоса администратора состоит в том, чтобы, вероятно, просто переопределить его в urlconf:
(r'^admin/ перед нормальной администраторской строкой:
(r'^admin/', admin.site.root),
"правильный" способ сделать это, тем не менее, состоит в том, чтобы сделать Вашего администратора пользовательским экземпляром AdminSite и переопределить установку index_template. http://docs.djangoproject.com/en/dev/ref/contrib/admin/#root-and-login-templates
, my.custom.admin.homepage),
перед нормальной администраторской строкой:
(r'^admin/', admin.site.root),
"правильный" способ сделать это, тем не менее, состоит в том, чтобы сделать Вашего администратора пользовательским экземпляром AdminSite и переопределить установку index_template. http://docs.djangoproject.com/en/dev/ref/contrib/admin/#root-and-login-templates
С точки зрения генерации стиля администратора это должно быть тривиально, чтобы наследовать родительские страницы администратора и вставить Ваше собственное шаблонное содержание в соответствующие блоки.
Смотрят на разметку (включая идентификатор и атрибуты класса) на администраторских страницах по умолчанию и пытаются получить понимание того, как вещи последовательно разрабатываются. При включении администратора CSS на странице, необходимо получить очень многое из него бесплатно.
Для получения дополнительной информации, смотрите на администраторские документы: http://docs.djangoproject.com/en/dev/ref/contrib/admin/
Вот основной шаблон для запущения Вас:
{% extends "admin/base_site.html" %}
{% load adminmedia %}
{% block extrahead %}
{% endblock %}
{% block coltype %}flex{% endblock %}
{% block bodyclass %}change-list{% endblock %}
{% block stylesheet %}{% admin_media_prefix %}css/changelists.css{% endblock %}
{% block extrastyle %}
<link rel="stylesheet" type="text/css" href="{{settings.MEDIA_URL}}/stylesheets/extra_admin.css" />
{% endblock %}
{% block breadcrumbs %}<div class="breadcrumbs"><a href="/admin/">Home</a> › {{page_title}}</div>{% endblock %}
{% block content %}
<div id="content-main">
<h1>{{page_title}}</h1>
{{page_content}}
</div>
{% endblock %}