def edit_news_category(request): form = EditNewsCategoryForm(request.POST) if form.is_valid(): pk = form.cleaned_data.get('pk') name = form.cleaned_data.get('name') try: NewsCategory.objects.filter(pk=pk).update(name=name) return restfuls.success() except ValueError: return restfuls.bad_request(msg="该分类已不存在") return restfuls.bad_request(form.get_errors())
def post(self, request): telephone = request.POST.get("telephone") group_ids = request.POST.getlist('group[]', []) if group_ids is None: return restfuls.bad_request('请选择用户分组') try: u = User.objects.get(telephone=telephone) u.groups.remove(*list(u.groups.all())) groups = Group.objects.filter(pk__in=group_ids) u.groups.set(groups) u.save() return restfuls.success() except User.DoesNotExist: return restfuls.bad_request('该用户已不存在')
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 restfuls.success(msg="添加成功") return restfuls.bad_request(msg="该分类已经存在")
def edit_banner(request): # 修改轮播图 form = EditBannerForm(request.POST) if form.is_valid(): banner_id = form.cleaned_data.get('pk') image_url = form.cleaned_data.get('image_url') link_to = form.cleaned_data.get('link_to') priority = form.cleaned_data.get('priority') try: Banner.objects.filter(pk=banner_id).update(image_url=image_url, link_to=link_to, priority=priority) return restfuls.success() except Banner.DoesNotExist: return restfuls.bad_request(msg="当前轮播图已不存在") return restfuls.bad_request(msg=form.get_errors())
def remove_news(request): news_id = request.POST.get('news') try: News.objects.get(pk=news_id).delete() return restfuls.success() except News.DoesNotExist: return restfuls.bad_request(msg="该新闻已不存在")
def post(self, request): group_ids = request.POST.getlist( 'group[]', []) # 通过ajax 获取的group key值为 "group[]"? 待解决原因 if group_ids is None: return restfuls.bad_request('请选择员工分组') form = AddStaffForm(request.POST) if form.is_valid(): telephone = form.cleaned_data.get('telephone') try: user = User.objects.get(telephone=telephone) user.is_staff = True groups = Group.objects.filter(pk__in=group_ids) user.groups.set(groups) user.save() return restfuls.success() except User.DoesNotExist: return restfuls.bad_request("请用户先完成注册") return restfuls.bad_request(form.get_errors())
def remove_staff(request): """移除员工""" uid = request.GET.get("uid") try: u = User.objects.get(pk=uid) u.is_staff = False u.groups.remove(*list(u.groups.all())) u.save() return restfuls.success() except User.DoesNotExist: return restfuls.bad_request('该用户已不存在')
def add_banner(request): # 添加轮播图 form = AddBannerForm(request.POST) if form.is_valid(): priority = form.cleaned_data.get('priority') image_url = form.cleaned_data.get('image_url') link_to = form.cleaned_data.get('link_to') banner = Banner.objects.create(priority=priority, image_url=image_url, link_to=link_to) return restfuls.success(data={"banner_id": banner.pk}) return restfuls.bad_request(form.get_errors())
def edit_news(request): news_id = request.GET.get("news") try: news = News.objects.get(pk=news_id) except News.DoesNotExist: return restfuls.bad_request(msg="该新闻已不存在") categories = NewsCategory.objects.all() context = { "news": news, 'categories': categories, } return render(request, 'cms/publish_news.html', context=context)
def register_view(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 restfuls.success() return restfuls.bad_request(msg=form.get_errors())
def get(self, request): arg = request.GET.get("staff") try: staff = User.objects.get(pk=arg) groups = Group.objects.all() staff_groups = list(staff.groups.all()) context = { "staff": staff, 'groups': groups, 'staff_groups': staff_groups } return render(request, 'cms/add_staff.html', context) except User.DoesNotExist: return restfuls.bad_request('该用户已不存在')
def sms_captcha(request): # 短信验证码视图函数 telephone = request.GET.get("telephone") exists = User.objects.filter(telephone=telephone).exists() if exists: return restfuls.bad_request(msg="该手机号已被注册!") captcha = Captcha.gene_text() cache.set(telephone, captcha.lower(), 5 * 60) print(f""" 手机号码: {telephone} 验证码: {captcha} """) return restfuls.success()
def login_view(request): # 用户登录 form = LoginForm(request.POST) if form.is_valid(): telephone = form.cleaned_data.get("telephone") password = form.cleaned_data.get("password") remember = form.cleaned_data.get("remember") user = authenticate(request, username=telephone, password=password) if user and user.is_active: if remember: request.session.set_expiry(None) # 不记住密码 else: request.session.set_expiry(0) login(request, user) return restfuls.success() # 登录成功 else: return restfuls.forbidden(msg="账号或密码错误") # 登录失败 else: return restfuls.bad_request(msg=form.get_errors(), data=form.get_errors()) # 表单验证失败
def post(self, request): form = PublishNewsForm(request.POST, request.FILES) if form.is_valid(): title = form.cleaned_data.get('title') desc = form.cleaned_data.get('desc') thumbnail = form.cleaned_data.get('thumbnail') content = form.cleaned_data.get('content') cid = form.cleaned_data.get('category') category = NewsCategory.objects.get(pk=cid) news_id = form.cleaned_data.get('news_id') or None News.objects.update_or_create(id=news_id, defaults={ "title": title, "desc": desc, "thumbnail": thumbnail, "content": content, "category": category, "author": request.user }) return restfuls.success() return restfuls.bad_request(msg=form.get_errors())
def post(self, request): form = PublishCourseForm(request.POST) if form.is_valid(): # name = form.cleaned_data.get("name") # category_id = form.cleaned_data.get("category_id") # teacher_id = form.cleaned_data.get("teacher_id") # video_link = form.cleaned_data.get("video_link") # cover_link = form.cleaned_data.get("cover_link") # price = form.cleaned_data.get("price") # duration = form.cleaned_data.get("duration") # # Course.objects.create(name=name, category_id=category_id, # teacher_id=teacher_id, video_link=video_link, # cover_link=cover_link, price=price, # duration=duration) for k, v in form.cleaned_data.items(): print(f"{k}: {v}") course = Course() course.set_attr(form.cleaned_data) course.save() return restfuls.success() return restfuls.bad_request(form.get_errors())
def delete_category_category(request): pk = request.POST.get("pk") if pk: NewsCategory.objects.filter(pk=pk).delete() return restfuls.success() return restfuls.bad_request(msg="当前分类已不存在")