models.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #coding:utf-8
  2. #
  3. from django.db import models
  4. from DjangoUeditor.models import UEditorField
  5. from DjangoUeditor.commands import *
  6. def getImagePath(model_instance=None):
  7. if model_instance is None:
  8. return "aaa/"
  9. else:
  10. return "%s/" % model_instance.Name
  11. def getDescImagePath(model_instance=None):
  12. return "aaa/"
  13. class myEventHander(UEditorEventHandler):
  14. def on_selectionchange(self):
  15. return """
  16. function getButton(btnName){
  17. var items=%(editor)s.ui.toolbars[0].items;
  18. for(item in items){
  19. if(items[item].name==btnName){
  20. return items[item];
  21. }
  22. }
  23. }
  24. var btn=getButton("mybtn1");
  25. var selRanage=id_Description.selection.getRange()
  26. btn.setDisabled(selRanage.startOffset == selRanage.endOffset);
  27. """
  28. class myBtn(UEditorButtonCommand):
  29. def onClick(self):
  30. return u"""
  31. alert("爽!");
  32. editor.execCommand(uiName);
  33. """
  34. def onExecuteAjaxCommand(self,state):
  35. if state=="success":
  36. return u"""
  37. alert("后面比较爽!"+xhr.responseText);
  38. """
  39. if state=="error":
  40. return u"""
  41. alert("讨厌,摸哪里去了!"+xhr.responseText);
  42. """
  43. class myCombo(UEditorComboCommand):
  44. def onSelect(self):
  45. return u"""
  46. alert("选择了!");
  47. """
  48. def get_items(self):
  49. items=[]
  50. for i in xrange(10):
  51. items.append({
  52. "label":"combo_%s" % i,
  53. "value":i
  54. })
  55. return items
  56. class Blog(models.Model):
  57. Name = models.CharField(u'姓名', max_length=100, blank=True)
  58. Description = UEditorField(u'描述', blank=True, toolbars="full", imagePath="cool/", settings={"a": 1},
  59. command=[myBtn(uiName="mybtn1", icon="d.png", title=u"1摸我", ajax_url="/ajaxcmd/"),
  60. myCombo(uiName="myCombo3",title=u"ccc",initValue="aaa")],
  61. event_handler=myEventHander())
  62. ImagePath = models.CharField(u'图片目录', max_length=100, blank=True)
  63. Content = UEditorField(u'内容', height=200, width=500, default='test', imagePath=getImagePath, toolbars="mini",
  64. filePath='bb/', blank=True, settings={"a": 2})