Таким образом, я пытаюсь разбудить TinyMCE и работаю на простой функции представления, но путь к tiny_mce.js файлу завинчен. Файл расположен в/Users/home/Django/tinyMCE/media/js/tiny_mce/tiny_mce.js. Я полагаю, что/media/js/tiny_mce/tiny_mce.js правилен, поскольку у сервера развития нет доступа к файлам выше корня папки проекта Джанго. На предоставленной странице это говорит в отладчике, что файл JavaScript не был найден. Это вызвано тем, что это пыталось просмотреть/js/tiny_mce/tiny_mce.js, не обращаясь к/media/части имени пути.
Так или иначе вот отрывок сценария для JavaScript в шаблоне под названием 'simple.html'. <script type="text/javascript" src="{{ MEDIA_URL }}/js/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ mode : "textareas", theme : "simple" }); </script>
И это - то, на что жизненно важные части моих параметров настройки похож.
MEDIA_ROOT = os.path.join(_base, 'media')
MEDIA_URL = 'http://127.0.0.1:8000/media/'
ADMIN_MEDIA_PREFIX = '/media/'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'tinymce',
)
Вы можете либо передавать его на шаблон вручную, поскольку другие предложили или убедитесь, что вы используете Requestexcontext вместо простого контекста. RequestContext автоматически заполнит контекст определенные переменные, включая Media_URL и другие, связанные с носителями.
Пример от документов:
def some_view(request):
# ...
return render_to_response('my_template.html',
my_data_dictionary,
context_instance=RequestContext(request))
Определяемая пользователем функция имеет несколько ограничений, например, использование инструкций DML и т.д.
-121--1193734- В Ruby 1.8/1.9 как sort
, так и sort _ by
реализованы в C, это грубый эквивалент того, как это работает:
Начните с [1,2,3,4]
и вызовите sort _ по {rand}
:
(я изобрел несколько случайных чисел):
Создается массив кортежей: [[0,12232, 1], [0,53434, 2], [0,333, 3], [0,99, 4]]
В примерно эквивалентном Ruby-коде это: [1,2,3,4] .map {| x | [rand, x]}
Быстрая сортировка Ruby выполняется для массива на основе первого элемента: (обратите внимание, что внутренняя реализация далеко не тривиальна и содержит тонну оптимизации для уже упорядоченных массивов и таковых)
[[0.12232, 1],[0.333, 3],[0.53434, 2],[0.99, 4]]
В Ruby этот шаг: ary.sort {| x, y | x [0] < = > y [0]}
Указатели копируются из нового отсортированного массива в правильное положение в исходном массиве.
[1,3,2,4]
В Ruby этот шаг: ary.map {| x, y | y}
Этот метод иногда называют « преобразованием Шварцяна ». Кэширование означает, что дорогостоящая операция выполняется не более N раз. Это очень эффективный способ рандомизации массива.
Примечание : array.shuffle!
будет наиболее эффективным встроенным способом перетасовки массива (на месте), поскольку он использует современную версию Фишера-Йейтса :
static VALUE
rb_ary_shuffle_bang(VALUE ary)
{
long i = RARRAY_LEN(ary);
rb_ary_modify(ary);
while (i) {
long j = rb_genrand_real()*i;
VALUE tmp = RARRAY_PTR(ary)[--i];
RARRAY_PTR(ary)[i] = RARRAY_PTR(ary)[j];
RARRAY_PTR(ary)[j] = tmp;
}
return ary;
}
-121--1660238- Похоже, что ars ответил на ваш реальный вопрос... Но вы столкнетесь с другой проблемой: MEDIA _ URL
должен отличаться от ADMIN _ MEDIA _ PREFIX
. В противном случае приоритет будет иметь ADMIN _ MEDIA _ PREFIX
. Обычно это можно исправить, изменив значение ADMIN _ MEDIA _ PREFIX
на /admin-media/
.
Похоже, что вы используете отладочный сервер (ваша url - http://127.0.0.1:8000/... .) . Вы установили статическую службу в urls.py?
if settings.DEBUG:
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes':True}),
)
Опции 'show_indexes':True позволяют просматривать ваши носители. Зайдите в свой корень медиа http://127.0.0.1:8000/media/ и увидите, что там что-то есть
.У вас есть процессор медиа-контекста в ваших настройках?
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.media',
)
Вы также можете попробовать вывести следующие параметры в настройках, чтобы увидеть, выявляют ли сообщению отладки:
TEMPLATE_DEBUG = True