问题
I know how to use WMD and other such javascript editors in regular django forms using widget=. However, how do I use WMD for text fields in the Django admin? On top of that, how do I use it for the content field on contrib.flatpages in the admin?
Also, I think I might like to use the StackOverflow fork of WMD, so I would like any special instructions for that, if necessary.
I know how to use the markdown filter in the templates, so that part is ok. I just need to get the editor to show up and work in the admin interface.
回答1:
I gave up on trying to use WMD. Instead, I used Markitup! As of the time of this posting, the current version of WMD is just not up to snuff. The StackOverflow fork of it is better, but is missing many features I want.
Instead, I decided to use Markitup! It has a Django reusable app. It also integrates very well with the existing django.contrib.markup template filters.
django-markitup
I also found a site that shows how to use it for flatpages without having to edit the admin templates.
extending admin forms in django
回答2:
To insert WMD, or any other cool JS, into the Django Admin pages, follow the instructions on overriding the admin templates in the Django docs, right here -- worst case, you'll copy and edit the existing Django templates to add your required JS functionality, and use those instructions to make sure your modified templates are used instead of Django's default ones, but almost always you can do better than this, as you'll see in those instructions.
回答3:
This isn't a direct answer to your question, but it might help.
It seems to be quite common to add the TinyMCE WYSIWYG editor to django. If you search for instructions on how to add TinyMCE to the Django admin, you might be able to adapt the method for WMD.
In the book Practical Django Projects, Second Edition, the author embeds TinyMCE in the flatpages
admin. You can download the code from a Bitbucket repository, and see how it's done (look at cms/templates/admin/). Alternatively, you could try this guide on the Django website.
+1 for the question. I would also like to write flatpages
in markdown. However I think the best method for using markdown is to
- have two fields, say
content
andcontent_html
, and store the original markdown incontent
. - When the object is saved, convert the markdown to html and store it in
content_html
.
This means you avoid converting to html in the template every time the page is viewed. However I don't know an elegant way to extend contrib.flatpages
by 'adding' an extra field.
回答4:
Check this one http://fi.am/entry/adding-a-simple-wysiwym-markdown-editor-to-your-mo/
This is much better solution.
So simple, and clear.
来源:https://stackoverflow.com/questions/1258138/wmd-in-django-admin