def removeStaff(request): pk = request.POST.get('pk') staff = User.objects.get(pk=pk) staff.is_staff = False staff.groups.remove() # 删除所有权限 staff.save() return resultful.ok()
def post(self, request): form = CourseForm(request.POST) print(request.POST) if form.is_valid(): title = form.cleaned_data.get('title') category_id = form.cleaned_data.get('category_id') teacher_id = form.cleaned_data.get('teacher_id') video_url = form.cleaned_data.get('video_url') cover_url = form.cleaned_data.get('cover_url') price = form.cleaned_data.get('price') duration = form.cleaned_data.get('duration') profile = form.cleaned_data.get('profile') category = CoursesCategory.objects.get(pk=category_id) teacher = Teacher.objects.get(pk=teacher_id) Courses.objects.create(title=title, video_url=video_url, teacher=teacher, cover_url=cover_url, price=price, duration=duration, profile=profile, category=category) return resultful.ok() else: return resultful.params_error(message=form.get_errors())
def verify(request): # b = Bmob(constants.APP_ID, constants.REST_KEY) # result = b.sendSMSCode("16600275590","tpl_hx") # strData = json.loads(result.stringData) # print("="*10) # print(result) # if result.code == 200: # cache.set("smsId",strData.get("smsId"),5*60) # print("smsId:",cache.get("smsId")) # else: # error_message1 = strData.get("error","") # print("error:",error_message1) # check y = Bmob(constants.APP_ID, constants.REST_KEY) result2 = y.verifySMSCode("16600275590", "823805") print("=" * 10) print(result2.code) print(result2.status) print(result2.headers) print(result2.stringData) print(result2.err) print(result2.msg) strData2 = json.loads(result2.stringData) if result2.code == 200: print("success") else: error_message2 = strData2.get("error", "") print("error:", error_message2) return resultful.ok()
def remove_banner(request): """ 删除Banner """ banner_id = request.POST.get("banner_id") Banner.objects.filter(pk=banner_id).delete() return resultful.ok()
def login_view(request): """ @require_POST表示只能用post进行请求 """ # 获取form 表单 form = LoginForm(request.POST) # judge validity if form.is_valid(): # 如果有效才进行验证 telephone = form.cleaned_data.get('telephone') password = form.cleaned_data.get('password') remember = form.cleaned_data.get("remember") # 这里的username=telephone是因为重写的AbstractBaseUser,可以在models中看到唯一字段就是telephone user = authenticate(request, username=telephone, password=password) # 如果用户存在 if user: if user.is_active: # 如果用户可用 login(request, user) # 登录 if remember: # 如果有remember这个字段,设置session为django默认的session时间,为2周 request.session.set_expiry(None) else: request.session.set_expiry(0) return resultful.ok() else: # 用户不可用 return resultful.unauth(message="账户没有激活") else: return resultful.params_error(message="手机号或密码错误") else: # 表单验证错误 # 这里查看forms的相关视频 # 传递的参数错误,比如:密码长度过短 errors = form.get_errors() return resultful.params_error(message=errors)
def remove_news(request): """ 删除新闻 """ pk = request.POST.get("pk") News.objects.get(pk=pk).delete() return resultful.ok()
def add_news_category(request): name = request.POST.get("name") exists = NewsCategory.objects.filter(name=name).exists() if not exists: NewsCategory.objects.create(name=name) return resultful.ok() else: return resultful.params_error(message="该分类已存在")
def del_news_category(request): pk = request.POST.get('pk') try: cur_news_category = NewsCategory.objects.get(pk=pk) cur_news_category.delete() return resultful.ok(message="haha") except: return resultful.notfind(message="该分类不存在!")
def __sms_captcha(request): """ 正式方法:需要真实的手机验证码才能注册,修改方法名 """ b = Bmob(constants.APP_ID, constants.REST_KEY) telephone = request.GET.get("telephone") result = b.sendSMSCode(telephone, "tpl_hx") strData = json.loads(result.stringData) # 短信验证 if result.code == 200: # 可用于验证是否验证过,或是否发送成功(比如电话号码不存在,就会发送不成功) cache.set("smsId", strData.get("smsId"), 5 * 60) return resultful.ok() else: error_message = strData.get("error", "") return resultful.captcha_error(message=error_message) print(cache.get("smsId")) return resultful.ok()
def upload_file(request): """ 上传文件 """ file = request.FILES.get("file") name = file.name with open(os.path.join(settings.MEDIA_ROOT, name), "wb") as fp: for chunk in file.chunks(): fp.write(chunk) url = request.build_absolute_uri(settings.MEDIA_URL + name) return resultful.ok(data={"url": url})
def __sms_captcha(request): """ 将短信验证码放入memcached中?bmob不能获取 """ telephone = request.GET['telephone'] print(telephone) # 用于测试短信验证码 cache.set("smsId","123456") print("=="+cache.get("smsId")) return resultful.ok()
def edit_news_category(request): form = EditNewsCategoryForm(request.POST) if form.is_valid(): pk = form.cleaned_data['pk'] name = form.cleaned_data['name'] try: NewsCategory.objects.filter(pk=pk).update(name=name) except: return resultful.params_error(message='该分类不存在') else: return resultful.params_error(message=form.get_errors()) return resultful.ok()
def sms_captcha(request): """ 将短信验证码放入memcached中?bmob不能获取 {'code': 400} {'status': 'Bad Request'} {'headers': <http.client.HTTPMessage object at 0x054F1F30>} {'stringData': '{"code":10022,"error":"模板:tpl_hfx 不存在"}'}或{'stringData':{"smsId":"108674070"}} {'err': 'Bad Request'} {'msg': None} """ cache.set("smsId", "123456") print(cache.get("smsId")) return resultful.ok()
def register(request): form = RegisterForm(request.POST) if form.is_valid(): telephone = form.cleaned_data.get('telephone') username = form.cleaned_data.get('username') password = form.cleaned_data.get('password1') user = User.objects.create_user(telephone=telephone, username=username, password=password) login(request, user) return resultful.ok() else: return resultful.params_error(message=form.get_errors())
def sms_captcha(request): """ 正式方法:需要真实的手机验证码才能注册,修改方法名 {'code': 400} {'status': 'Bad Request'} {'headers': <http.client.HTTPMessage object at 0x054F1F30>} {'stringData': '{"code":10022,"error":"模板:tpl_hfx 不存在"}'}或{'stringData':{"smsId":"108674070"}} {'err': 'Bad Request'} {'msg': None } """ b = Bmob(constants.APP_ID, constants.REST_KEY) telephone = request.GET.get("telephone") result = b.sendSMSCode(telephone, "tpl_hx") strData = json.loads(result.stringData) # 短信验证 if result.code == 200: # 可用于验证是否验证过,或是否发送成功(比如电话号码不存在,就会发送不成功) cache.set("smsId",strData.get("smsId"),5*60) return resultful.ok() else: error_message = strData.get("error","") return resultful.captcha_error(message=error_message) return resultful.ok()
def edit_banner(request): """ 编辑Banner """ form = EditBannerForm(request.POST) if form.is_valid(): banner_id = form.cleaned_data.get("banner_id") priority = form.cleaned_data.get("priority") image_url = form.cleaned_data.get("image_url") link_to = form.cleaned_data.get("link_to") Banner.objects.filter(pk=banner_id).update(image_url=image_url, link_to=link_to, priority=priority) return resultful.ok() else: return resultful.params_error(message=form.get_errors())
def post(self, request): form = EditNewsForm(request.POST) if form.is_valid(): title = form.cleaned_data.get("title") desc = form.cleaned_data.get("desc") categpry_id = form.cleaned_data.get("category") content = form.cleaned_data.get("content") thumbnail = form.cleaned_data.get("thumbnail") pk = form.cleaned_data.get("pk") category = NewsCategory.objects.get(pk=categpry_id) News.objects.filter(pk=pk).update( category=category, content=content, desc=desc, thumbnail=thumbnail, title=title, ) return resultful.ok() else: return resultful.params_error(message=form.get_errors())
def post(self, request): # 表单验证数据 # 这是通过ajax提交的 form = WriteNewsForm(request.POST) if form.is_valid(): # 保存到数据库中(创建新闻的表) title = form.cleaned_data.get("title") desc = form.cleaned_data.get("desc") category_id = form.cleaned_data.get("category") content = form.cleaned_data.get("content") thumbnail = form.cleaned_data.get("thumbnail") category = NewsCategory.objects.get(pk=category_id) News.objects.create( title=title, desc=desc, category=category, thumbnail=thumbnail, author=request.user, content=content, ) return resultful.ok() else: return resultful.params_error(message=form.get_errors())
def qn_token(request): q = Auth(constants.ACCESS_KEY, constants.SECRET_KEY) bucket_name = "huixiong" token = q.upload_token(bucket_name, None, 3600) logging.debug(token) return resultful.ok(data={"token": token})