Bir WSYISWG düzenleyicisini django blogu üzerinde yönetici paneline eklemenin en kolay yolu nedir?Django yöneticisine WSYWYG düzenleyicisini nasıl ekleyebilirim?
cevap
Sen tinymce aracılığıyla django-TinyMCE kullanabilirsiniz:
http://code.google.com/p/django-tinymce/
Sen yönetici her bir metin alanına veya Charfield üzerinde kullanım tinymce ya, yoksa sadece belirli alanlara ekleyebilirler.
Önceki için, formfield_overides yönetici model ayarlarını kullanarak her CharField veya TextField'ı tinymce kullanacak şekilde kullanın. Yani admin.py içinde: İkincisi için
formfield_overrides = {
models.TextField: {'widget': TinyMCE(attrs={'cols': 80, 'rows': 30})},
}
Eğer TinyMCE kullanmak istediğiniz alan için widget'ı değiştirin. senin forms.py Yani: Sonra
class BlogForm(ModelForm):
body = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))
ve (admin.py olarak) bu formu kullanmak için yönetici söyleyin:
from models import Blog
from forms import BlogForm
class BlogAdmin(ModelAdmin):
form = BlogForm()
Sen kaç basit şeyler yapmak gerekir (NicEdit WYSIWYG örnek olarak) : 1) Gerekli düzenleyiciyi indirin ve projenizdeki bir klasöre kaydedin, medya klasöründe söyleyin; urls.py sonraki satırları ekleyin içinde
2):
import os
PROJECT_DIR = os.path.dirname(__file__)
urlpatterns = patterns('',
...,
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': PROJECT_DIR + r'/media/'}),
...,
)
3) şablonlar klasöründeki klasör 'yönetici' oluşturmak ve django/contrib/yönetici/şablonlar/admin/tabanından dosya base.py orada kopyalamak .py;
4) açık dosya base.py ve bu şekilde düzenleme - ilk 9 satır her tarafına dokunun ancak 9 satırda sonraki kodu bulunmamalıdır: hepsi
<script type="text/javascript" src="/media/nicedit/nicEdit.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
nicEditors.allTextAreas({iconsPath : '/media/nicedit/nicEditorIcons.gif',
buttonList : ['fontSize','fontFamily','bold','italic',
'underline','strikeThrough','left','center','right','justify',
'ol','ul','subscript','superscript','hr','link','unlink','forecolor',
'image','upload','xhtml']
});
});
</script>
. Artık tüm textareas'ta yönetici panelinde WYSIWYG'niz mevcut olacaktır.
Vitali Ponomar'ın verdiği çözümü uygulamaya çalıştım. o benim /media/js/
klasörüne konulan ve (ı alanını değiştirmek için gerektirir TinyMCE Documentation gördüğümüz modelde alanım türlerini değiştirmek gerektirmez sadece iki javascript dosyaları (nicEdit.js
ve nicEditorIcons.gif
) çünkü ben NicEdit tercih
bir HTMLField türüne ve veritabanındaki herhangi bir şeyi değiştirmek istemedim).
class NewsAdmin(admin.ModelAdmin):
list_display = ('title','lead','date')
class Media:
js = ('/media/js/nicEdit.js', '/media/js/textarea_content.js')
admin.site.register(News, NewsAdmin)
Ayrıca bazı spesifik düğmeleri ile bir spesifik textarea başlatmak için kullanılan /media/js/
klasörüne konulan dosya textarea_content.js
geçerli::
bkLib.onDomLoaded(function() {
nicEditors.editors.push(
new nicEditor({iconsPath : '/media/js/nicEditorIcons.gif',
buttonList : ['fontSize','fontFamily','bold','italic',
'underline','strikeThrough','left','center','right','justify',
'ol','ul','subscript','superscript','hr','link','unlink','forecolor']
}).panelInstance(
document.getElementById('id_content')
)
);
});
Ancak eğer
Ben modelde koymak Yukarıdaki kod yerinebkLib.onDomLoaded(nicEditors.allTextAreas);
kullanabilirsiniz tüm textareas için kullanmayı planlıyoruz.
Son olarak, izinlerle dikkatli olun (üretim ortamında ilk defa denediğimde javascript dosyalarım izinler nedeniyle kullanılamaz).
- 1. Wysiwyg düzenleyicisini django flatpages ile nasıl bütünleştiririm?
- 2. Stackedit'in işaretleme düzenleyicisini uygulamamdaki nasıl kullanabilirim
- 3. Flexlm lisans yöneticisine nasıl bağlanır?
- 4. SVN mesaj düzenleyicisini değiştir
- 5. Hücre düzenleyicisini ExtJS
- 6. Sadece matlab düzenleyicisini çalıştırma
- 7. Inline Django Yönetici alanlarına nasıl özel düğme ekleyebilirim?
- 8. Görünüm pencere yöneticisine bağlı değil (çözüm nedir?)
- 9. IBM WebSphere MQ kuyruk yöneticisine nasıl ping yapabilirim?
- 10. MQExplorer 8.0 aracılığıyla uzak Kuyruk Yöneticisine nasıl bağlanır
- 11. temel kimlik doğrulama sorununu rapor yöneticisine nasıl iletilir url
- 12. Raylarıma nasıl giriş ekleyebilirim?
- 13. sigma.js eklentilerini nasıl ekleyebilirim?
- 14. Bir wstring'e nasıl ekleyebilirim?
- 15. Pelikan'a görüntüleri nasıl ekleyebilirim?
- 16. Düğmecemi ActionBar'a nasıl ekleyebilirim?
- 17. Ağaç tablosuna nasıl ekleyebilirim
- 18. PDO'ya nasıl ekleyebilirim (sqllite3)?
- 19. System.Windows.Shapes'ı nasıl ekleyebilirim?
- 20. /dev/tty'ye nasıl ekleyebilirim?
- 21. Django'da bir ChoiceField ürününe nasıl "sınıf" ekleyebilirim?
- 22. Magento özel niteliği için WYSIWYG düzenleyicisini etkinleştirin mi?
- 23. Arka uç hizmetinden API yöneticisine veya BAM'ye geçirilen faturalama ayrıntıları
- 24. Django
- 25. Listenin ilk konumuna nasıl ekleyebilirim?
- 26. Kullanıcı denetimlerine nasıl çağrı ekleyebilirim?
- 27. Bir dersi pypy'de nasıl ekleyebilirim?
- 28. Çoklu iş parçacığı nasıl ekleyebilirim?
- 29. Menubar'a nasıl bir QLineEdit ekleyebilirim
- 30. jsdoc BackboneJS kodunu nasıl ekleyebilirim?
Bunu internette buldum: https://github.com/pydanny/django-wysiwyg. Bu iyi mi? – Adnan
Kullanmadım ama eminim ki iş de yapıyor. –
Bir forms.py yaratıyorum çünkü şu anda bir tane yok mu? – Adnan