Django добавление крошечной Mce - PullRequest
2 голосов
/ 05 января 2011

Пожалуйста, предложите лучший способ добавить tinymce в админку django.Можно ли добавить его, расширив /admin/change_form.html в моем каталоге шаблонов?

Ответы [ 3 ]

6 голосов
/ 05 января 2011

На мой взгляд, лучший способ это django-tinymce .

Это удивительно и очень легко интегрируется в ваш проект, плюс вы можете легко добавить django-filebrowser для загрузки изображений.

2 голосов
/ 06 января 2011

Джанго-Тинимче - путь. Вы можете использовать pip для его установки. Вы используете его на полях модели, например, так:

from tinymce import models as tinymce_models
class Foo(models.Model):
    description = tinymce_models.HTMLField(blank=True, null=True, help_text="You can use HTML markup - be careful!")

Если вы используете South для миграции БД, вам нужно помочь с этой строкой:

add_introspection_rules([], ["^tinymce.models.HTMLField"])

Работает как шарм!

2 голосов
/ 05 января 2011
  1. Поместите библиотеку tiny_mce.js где-нибудь в вашу медиа-папку.Например, в js / tiny_mce /
  2. Затем (для django 1.2) вам необходимо создать администратор пользовательской модели в your_app / admin.py.Добавьте к нему класс Media с атрибутом js.Пример:

    from django.contrib import admin
    from myapp.models import MyModel
    
    class MyModelAdmin(admin.ModelAdmin):
        class Media:
            js = ('js/tiny_mce/tiny_mce.js',
                  'js/admin/textareas.js',)
    
    admin.site.register(MyModel, MyModelAdmin)
    
  3. В media / js / admin / textareas.js вы можете добавить свой звонок в tinyMCE.init.Пример:

    tinyMCE.init({
            mode : "textareas",
            theme : "advanced"
    });
    

Вот и все.Javascript включается автоматически.Нет необходимости перезаписывать шаблоны администратора.

Примечание : Я забыл упомянуть, что в этом случае это относится только к администратору для MyModel.Если вам нужны одинаковые функциональные возможности для всех моделей yout, просто зарегистрируйте этот пользовательский ModelAdmin или добавьте классы Media в существующие классы ModelAdmin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...