def skinCreate(request): data = request.POST.get('data') if not data: return MyHttpJsonResponse({ 'succ': False , 'msg': 'no data' }) name = request.POST.get('name') if not name: return MyHttpJsonResponse({ 'succ': False , 'msg': 'need name' }) try: json_data = json.loads(data) model = SkinModel.create( m_name = name, m_cat = 2 ) model.saveSkinDict(json_data) except Exception, e: return MyHttpJsonResponse({ 'succ': False })
def handleOperate(request, widget_id = None): try: entity = ExistedHandler(widget_id) if widget_id else NewHandler() if 'POST' == request.method: hk = request.session.get('hk') entity.setHk(hk) req_data = json.loads(request.POST.get('data', '{}')) succ, code = entity.parse(req_data) if not succ: return MyHttpJsonResponse({'succ': succ, 'msg': code}) entity.save() return MyHttpJsonResponse({'succ': True, 'wiId': entity.id, \ 'msg': '保存成功'}) else: # 区分是拿页面还是拿内容 if request.is_ajax(): if not widget_id: return MyHttpJsonResponse({'succ': False}) info = entity.display() # 这个本该引导用户自己去连接数据库,TBD request.session['hk'] = entity.getHk() return MyHttpJsonResponse({'succ': True, 'data': info}) else: request.session['hk'] = entity.getHk() context = RequestContext(request) skins = SkinModel.customValues('id', 'm_name') dict = {'skins': json.dumps(skins)} widget_dict = {'widget_id': widget_id} if widget_id else {} dict.update(widget_dict) return render_to_response('widget/widget_add/add.html', dict, context) except DatabaseError, e: logger.error(e[0]) return MyHttpJsonResponse({'succ': False \ , 'msg': '无法保存到数据库'})
def skinEdit(request, id): if 'POST' == request.method: model = SkinModel.find(id) name = request.POST.get('name') data = request.POST.get('data') try: if name: model.m_name = name model.save() if data: json_data = json.loads(data) model.saveSkinDict(json_data) except Exception, e: return MyHttpJsonResponse({ 'succ': False , 'msg': 'db excption' }) return MyHttpJsonResponse({ 'succ': True })
if data: json_data = json.loads(data) model.saveSkinDict(json_data) except Exception, e: return MyHttpJsonResponse({ 'succ': False , 'msg': 'db excption' }) return MyHttpJsonResponse({ 'succ': True }) else: model = SkinModel.find(id) try: data = model.getSkinDict() except IOError: return MyHttpJsonResponse({ 'succ': False , 'msg': 'no file existed' }) return MyHttpJsonResponse({ 'succ': True , 'entity': { 'name': model.m_name , 'data': json.dumps(data) } })