def post(self, request): # 添加操作需要带instance user_info_form = UserInfoForm(request.POST, instance=request.user) if user_info_form.is_valid(): user_info_form.save() return JsonResponse({"status": "success"}) else: return HttpResponse(json.dumps(user_info_form.errors))
def post(self, request): user_info_form = UserInfoForm(request.POST, instance=request.user) if user_info_form.is_valid(): user_info_form.save() return HttpResponse('{"status":"success","msg":"修改成功"}', content_type='application/json') else: return HttpResponse(json.dumps(user_info_form.errors), content_type='application/json')
def user_info_edit(request): userinfo = get_object_or_404(UserInfo) if request.method == 'POST': form = UserInfoForm(request.POST, request.FILES, instance=userinfo) if form.is_valid(): form.save() if request.is_ajax(): return HttpResponse("success") else: return redirect(reverse('home')) else: form = UserInfoForm(instance=userinfo) return render(request, 'hello/edit.html', {'form': form})
def submit_userinfo(request, appId): if request.method == 'GET': form = UserInfoForm() return render_to_response('userinfo.html',{'form':form}, context_instance=RequestContext(request)) else: form = UserInfoForm(request.POST) if form.is_valid(): form = form.save(commit=False) app = AppFactory.objects.filter(id=appId) if app: form.app = app[0] form.save() return render_to_response('userinfo.html',{'form':form,'done':'done'}, context_instance=RequestContext(request)) else: return render_to_response('userinfo.html',{'form':form,'done':'app not exist'}, context_instance=RequestContext(request))
def main_edit_update(request, item_id): template = "testTicketsApp/main_edit.html" try: item = get_object_or_404(UserInfo, pk=item_id) context = dict({'user_info': item}) except (KeyError, UserInfo.DoesNotExist): template = 'testTicketsApp/errors.html' context = dict({'error_message': 'Edit: UserInfo by id %s - not hound' % item_id}) else: form = UserInfoForm(request.POST or None, request.FILES or None, instance=item) context.update({'form': form}) request_method = request.method if request_method == 'POST': if request.is_ajax(): if form.is_valid(): form.save() return HttpResponseRedirect(reverse('update', kwargs={'item_id': item_id})) else: template = 'testTicketsApp/errors.html' context = dict({'error_message': 'Update user contact info: Post is not ajax'}) return render(request, template, context)
def edit_home(request): delete_old = False storage = None path = None userinfo = UserInfo.objects.first() if not userinfo: return HttpResponse('User profile not found in database') if userinfo.photo: delete_old = True storage = userinfo.photo.storage path = userinfo.photo.path form = UserInfoForm(request.POST or None, request.FILES or None, instance=userinfo) if request.method == 'POST': form_is_valid = False if form.is_valid(): form.save() form_is_valid = True form_new = UserInfoForm(instance=userinfo) if delete_old and (path != '.') and (path != '/'): if os.path.isfile(path): if form_new.instance.photo: if path != form_new.instance.photo.path: storage.delete(path) else: storage.delete(path) if request.is_ajax(): results = {'result': 'error', 'errors': {}, 'photo_url': '', 'photo_field': ''} if form_is_valid: if form_new.instance.photo: results['photo_url'] = form_new.instance.photo.url context = {'form': form_new} results['photo_field'] = \ render_to_string('userinfo/' 'ajax_update_photo_field.html', context) results['result'] = 'success' else: results['result'] = 'error' for k in form.errors: results['errors'][k] = form.errors[k][0] data = json.dumps(results) return HttpResponse(data, content_type='application/json') else: if form_is_valid: messages.success(request, 'Changes have been saved') return HttpResponseRedirect(reverse('userinfo:edit_home')) else: messages.error(request, 'Error occured saving form data,' ' check fields...') photo_exists = False if form.instance.photo: if os.path.isfile(form.instance.photo.path): photo_exists = True context = {'form': form, 'photo_exists': photo_exists, 'messages': get_messages(request)} return render(request, 'userinfo/edit_home.html', context)