def dpost(): post_id = request.form.get('post_id') if not post_id: return restful.params_error(message="请传入帖子ID!") post = PostModel.query.get(post_id) if not post: return restful.params_error(message="没有这篇帖子!") db.session.delete(post) db.session.commit() return restful.success()
def dbanner(): banner_id = request.form.get('banner_id') if not banner_id: return restful.params_error(message="请传入轮播图ID!") banner = BannerModel.query.get(banner_id) if not banner: return restful.params_error(message="没有这个轮播图!") db.session.delete(banner) db.session.commit() return restful.success()
def uhpost(): post_id = request.form.get('post_id') if not post_id: return restful.params_error(message="请传入帖子ID!") post = PostModel.query.get(post_id) if not post: return restful.params_error(message="没有这篇帖子!") highlight = HighlightPostModel.query.filter_by(post_id=post_id).first() db.session.delete(highlight) db.session.commit() return restful.success()
def dboard(): board_id = request.form.get("board_id") print(board_id) if not board_id: return restful.params_error(message="请传入板块ID!") board = BoardModel.query.get(board_id) if not board: return restful.params_error(message="没有这个板块!") db.session.delete(board) db.session.commit() return restful.success()
def hpost(): post_id = request.form.get('post_id') if not post_id: return restful.params_error(message="请传入帖子ID!") post = PostModel.query.get(post_id) if not post: return restful.params_error(message="没有这篇帖子!") highlight = HighlightPostModel() highlight.post = post db.session.add(highlight) db.session.commit() return restful.success()
def post(self): form = ResetEmailForm(request.form) if form.validate(): email = form.email.data email1 = CmsUserModel.query.filter_by(email=email).first() if email1: return restful.params_error(message="该邮箱已被注册!") g.cms_user.email = email db.session.commit() return restful.success() else: return restful.params_error(form.get_errors())
def uboard(): form = UpdateBoardForm(request.form) if form.validate(): board_id = form.board_id.data name = form.name.data board = BoardModel.query.get(board_id) if not board: return restful.params_error(message="板块不存在!") board.name = name db.session.commit() return restful.success() else: return restful.params_error(message=form.get_errors())
def post(self): form = ResetpwdForm(request.form) if form.validate(): newpwd = form.newpwd2.data cms_user = g.cms_user if cms_user: cms_user.password = newpwd db.session.commit() return restful.success() else: return restful.params_error(message="用户不存在!") else: return restful.params_error(message=form.get_errors())
def sms_captcha(): __business_id = uuid.uuid1() form = SMSCaptchaForm(request.form) if form.validate(): telephone = form.telephone.data num = string.digits captcha = ''.join(random.sample(num, 4)) # params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}' params = {"code":captcha,"product":"test"} if demo_sms_send.send_sms(__business_id, "18986205506", "泡泡茶壶", "SMS_122284746", params): memcaches.set(telephone, captcha) return restful.success() else: return restful.params_error(message="短信验证码发送失败!") else: return restful.params_error(message="参数错误!")
def post(self): form = FrontSigninForm(request.form) if form.validate(): telephone = form.telephone.data password = form.password.data remember = form.remember.data user = FrontUserModel.query.filter_by(telephone=telephone).first() if user and user.check_pwd(password): session[config.FRONT_USER_ID] = user.id if remember: session.permanent = True return restful.success() else: return restful.params_error(message="手机号或者密码错误!") else: return restful.params_error(message=form.get_errors())
def add_comment(): form = AddCommentForm(request.form) if form.validate(): content = form.content.data post_id = form.post_id.data post = PostModel.query.get(post_id) if post: comment = CommentModel(content=content) comment.post = post comment.author = g.front_user db.session.add(comment) db.session.commit() return restful.success() else: return restful.params_error(message="没有这篇文章!") else: return restful.params_error(message=form.get_errors())
def aboard(): form = AddBoardForm(request.form) if form.validate(): name = form.name.data board = BoardModel(name=name) db.session.add(board) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_errors())
def ubanner(): form = UpdateBannerFrom(request.form) if form.validate(): banner_id = form.banner_id.data name = form.name.data image_url = form.image_url.data link_url = form.link_url.data priority = form.priority.data banner = BannerModel.query.get(banner_id) if banner: banner.name = name banner.image_url = image_url banner.link_url = link_url banner.priority = priority db.session.commit() return restful.success() else: return restful.params_error(message="没有这个轮播图!") else: return restful.params_error(message=form.get_errors())
def apost(): if request.method == 'GET': boards = BoardModel.query.all() return render_template('front/front_apost.html', boards=boards) else: form = AddPostForm(request.form) if form.validate(): title = form.title.data content = form.content.data board_id = form.board_id.data board = BoardModel.query.get(board_id) if not board: return restful.params_error(message="没有这个板块!") post = PostModel(title=title, content=content) post.board = board post.author = g.front_user db.session.add(post) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_errors())
def email_captcha(): # form = EmailCaptchaForm(request.form) # print(form.email.data) # if form.validate(): # email = form.email.data email = request.args.get('email') if not email and email == None: return restful.params_error(message="邮箱不能为空!") if email == g.cms_user.email: return restful.params_error(message="新邮箱不能与原邮箱一样!") source = list(string.ascii_letters+string.digits) captcha = ''.join(random.sample(source, 6)) # message = Message('zcbbs邮箱验证码', recipients=[email], body="您的邮箱验证码为:%s" % captcha) # try: # mail.send(message) # except: # return restful.server_error() # return restful.success() send_mail.delay('bbs论坛邮箱验证码', [email], '您的邮箱验证码为:%s' % captcha) memcaches.set(email, captcha) return restful.success()
def post(self): form = FrontSignupFrom(request.form) if form.validate(): telephone = form.telephone.data username = form.username.data password = form.password1.data user = FrontUserModel(telephone=telephone, username=username, password=password) db.session.add(user) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_errors())
def abanner(): form = AddBannerForm(request.form) if form.validate(): name = form.name.data image_url = form.image_url.data link_url = form.link_url.data priority = form.priority.data banner = BannerModel(name=name, image_url=image_url, link_url=link_url, priority=priority) db.session.add(banner) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_errors())
def sms_captcha(): form = SMSCaptchaForm(request.form) if form.validate(): telephone = form.telephone.data captcha = Captcha.gene_text(number=4) print('发送的短信验证码是:', captcha) if alidayu.send_sms(telephone, code=captcha): zlcache.set(telephone, captcha) return restful.success() else: # return restful.params_error() zlcache.set(telephone, captcha) return restful.success() else: return restful.params_error(message='参数错误!')
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, telephone=telephone, password=password) if user: if user.is_active: login(request, user) if remember: request.session.set_expiry(None) else: request.session.set_expiry(0) # 返回200的状态码,就代表的是可以正常访问 return restful.ok() else: # 用户已经被拉黑了,没有权限 return restful.unauth_error(message="您的账号已被冻结") else: return restful.params_error(message="您输入的手机号或密码不正确") else: errors = form.get_errors() return restful.params_error(message=errors)
def publish_comment(request): form = CommentForm(request.POST) if form.is_valid(): news_id = form.cleaned_data.get('news_id') content = form.cleaned_data.get('content') # 判断是否能够从数据库表中找到news_id的一条数据,如果不可以找到的话,就返回404页面 news = News.objects.get(pk=news_id) # comment是一个对象 comments = Comment.objects.create(content=content, news=news, author=request.user) serizlizeData = CommentSerializer(comments) return restful.httpResult(data=serizlizeData.data) else: return restful.params_error(message=form.get_errors())
def post(self, request): news_pk = request.POST.get('news_pk') news = News.objects.get(pk=news_pk, is_deleted=False) form = WriteNewsForm(request.POST, instance=news) if form.is_valid(): news = form.save(commit=False) category_pk = int(form.cleaned_data.get('category_pk')) if news.category_id != category_pk and NewsCategory.objects.filter( pk=category_pk, is_deleted=False).exists(): news.category_id = category_pk news.author = request.user news.save() return restful.ok() else: return restful.params_error(message=form.get_errors())
def post(self, request): forms = NewsForm(request.POST) if forms.is_valid(): cleaned_data = forms.cleaned_data title = cleaned_data.get('title') desc = cleaned_data.get('desc') thumbnail = cleaned_data.get('thumbnail') content = cleaned_data.get('content') author = request.user category_id = cleaned_data.get('category') category = NewsCategory.objects.get(id=category_id) try: News.objects.create(title=title, desc=desc, thumbnail=thumbnail, content=content, category=category, author=author) return restful.ok() except: return restful.params_error("服务器gg") error = forms.get_first_message() return restful.params_error(error)
def post(self, request): form = RegisterForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username') telephone = form.cleaned_data.get('telephone') email = form.cleaned_data.get('email') password = form.cleaned_data.get('password1') user = User.objects.create_user(username=username, telephone=telephone, email=email, password=password) login(request, user) return restful.ok() else: return restful.params_error(form.get_errors())
def register(request): # 注册 register_form = RegisterForm(request.POST) if register_form.is_valid(): telephone = register_form.cleaned_data.get('telephone') username = register_form.cleaned_data.get('username') password = register_form.cleaned_data.get('password1') user = User.objects.create_user(telephone=telephone, username=username, password=password) user.save() login(request, user) return restful.ok() else: return restful.params_error(message=register_form.get_errors())
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: if user.is_active: login(request, user) if remember: request.session.set_expiry(None) # 默认保存两周 else: request.session.set_expiry(0) return restful.success() else: return restful.unauth(message='您的账号未激活') else: return restful.params_error(message='手机号或者密码错误') else: errors = form.get_errors() return restful.params_error(message=errors)
def save_thumbnail(request): """ 文件本地储存 """ try: file_content = request.FILES.get('upfile') sysfile = os.path.abspath('.') + '/' + 'media' file_save_path = os.path.join(sysfile, file_content.name) with open(file_save_path, 'wb') as f: for chunk in file_content.chunks(): f.write(chunk) # build_absolute_uri 自动返回服务器的地址 url = request.build_absolute_uri(settings.MEDIA_URL + file_content.name) return restful.result(data={'url': url}) except: return restful.params_error(message='识别不了该文件')
def add_post(): if request.method == "GET": boards = BoardModel.query.filter_by(is_show=1).all() context = {"boards": boards} return render_template('front/front_ppost.html', **context) else: form = AddPostForm(request.form) if form.validate(): title = form.title.data content = form.content.data board_id = form.board_id.data board = BoardModel.query.get(board_id) author = g.front_user if board: post = PostModel(title=title, content=content) post.board_id = board_id post.author = author db.session.add(post) db.session.commit() return restful.success() else: return restful.params_error("板块不存在") else: return restful.params_error(form.error_msg())
def post(self): form = SignupForm(request.form) if form.validate(): telephone = form.telephone.data username = form.username.data password = form.password1.data user = FrontUser(telephone=telephone, username=username, password=password) db.session.add(user) db.session.commit() return restful.success() else: # print(form.errors) # print(form.errors.popitem()) 注意测试的时候打印popitem一次了,return再次调用无直可以pop # print(form.get_error()) return restful.params_error(message=form.get_error())
def add_lock(): lock_id = request.form.get('lock_id') lock_remark = request.form.get('lock_remark') if lock_id.replace(" ", "") != "" and lock_remark.replace(" ", "") != "": lock = LocksModel(lock_id=lock_id, remark=lock_remark) db.session.add(lock) db.session.commit() if LocksModel.query.filter_by(lock_id=lock_id).first(): return restful.success('门锁设备添加成功') else: return restful.success('门锁设备添加失败') else: return restful.params_error('请检查你输入的内容')
def sms_captcha(): form = SmsForm(request.form) if form.validate(): telephone = form.telephone.data captcha = Captcha.gene_text(number=4) if alidayu.send_sms(telephone, captcha=captcha): # 把验证码放入memcache,与用户提交的对比 mbcache.set(telephone, captcha) return restful.success() else: mbcache.set(telephone, captcha) return restful.success() else: return restful.params_error(message='参数错误')
def post(self, request): form = RegisterForm(request.POST) if form.is_valid() and form.validate_data(request): 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) print('电话:%s' % telephone, '密码:%s' % password) login(request, user) # 注册成功后,直接跳转到登录状态 return restful.ok() else: message = form.get_error() return restful.params_error(message=message)
def post(self): form = SignupForm(request.form) if form.validate(): telephone = form.telephone.data username = form.username.data password = form.password.data user = FrontUser(telephone=telephone, username=username, password=password) db.session.add(user) db.session.commit() return restful.success() else: print(form.get_error()) return restful.params_error(message=form.get_error())
def add_news_category(request): """ # 定义一个添加分类的视图函数,对添加信息进行判断, 不存在就添加,存在就返回‘已经存在信息 """ name = request.POST.get('name') # 对名称做一个确认,使用以下定义,如果存在会返回一个Ture,否则返回一个Flase exists = NewCategory.objects.filter(name=name).exists() if not exists: NewCategory.objects.create(name=name) logger.info('添加文章分类:%s!' % name) return restful.ok() else: logger.warning("文章分类:'%s'已经存在!'" % name) return restful.params_error(message='该分类已经存在!')
def post(self, request): form = ArticleForm(request.POST) if form.is_valid(): article_id = request.POST.get('pk') title = form.cleaned_data.get('title') desc = form.cleaned_data.get('desc') content = form.cleaned_data.get('content') categoryId = form.cleaned_data.get('category') category = Category.objects.get(pk=categoryId) Article.objects.filter(pk=article_id).update(title=title, desc=desc, content=content, category=category) return restful.ok() else: return restful.params_error(form.get_errors())
def post(self, request): form = RegisterForm(request.POST) if form.is_valid() and form.validate_data(request): # 先验证数据是否是合法的 telephone = form.cleaned_data.get('telephone') username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') print("手机号码:%s" % telephone) user = User.objects.create_user(telephone=telephone, username=username, password=password) login(request, user) return restful.ok() else: message = form.get_error() return restful.params_error(message=message)
def post(self, request): form = ArticleForm(request.POST) if form.is_valid(): title = form.cleaned_data.get('title') desc = form.cleaned_data.get('desc') content = form.cleaned_data.get('content') categoryId = form.cleaned_data.get('category') category = Category.objects.get(pk=categoryId) Article.objects.create(title=title, content=content, category=category, author=request.user, desc=desc) return restful.ok() else: return restful.params_error(message='不能为空')
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 restful.ok() else: print(form.get_errors()) return restful.params_error(message=form.get_errors())
def add_comment(request): """评论""" # 对于django种如果没有登录用户,也还是会有一个request.user ->AnonymousUser的一个假用户, # 这个用户数据是不能存储在数据库的 form = AddCommentForm(request.POST) if form.is_valid(): content = form.cleaned_data.get('content') news_id = form.cleaned_data.get('news_id') news = News.objects.get(pk=news_id) comment = Comment.objects.create(content=content, news=news, author=request.user) # 创建评论 serizlize = CommentSerializer(comment) return restful.result(data=serizlize.data) # 获取数据 else: return restful.params_error(message=form.get_error())
def email_captcha(): #/email_capthca/[email protected] email = request.args.get('email') if not email: return restful.params_error('请传递邮箱参数!') source = list(string.ascii_letters) source.extend(map(lambda x: str(x), range(0, 10))) # source.extend(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]) captcha = "".join(random.sample(source, 6)) #使用Celery异步发送 send_mail.delay('Reset your cms email of DianMeng.', [email], 'Your captcha is:%s' % captcha) dmcache.set(email, captcha) return restful.success()
def abanners(): form = AddBannerForm(request.form) if form.validate(): name = form.name.data image_url = form.image_url.data link_url = form.link_url.data priority = form.priority.data banner = BannerModel(name=name, image_url=image_url, link_url=link_url, priority=priority) db.session.add(banner) db.session.commit() return restful.success('轮播图信息添加成功!') else: return restful.params_error(form.get_error())
def post_large_del(): post_ids = request.form.get('comment_ids') if post_ids: posts_ids = post_ids.split(',') for po in posts_ids: post = PostsModel.query.get(po) imgs = re.findall( r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"', post.content, re.S) if len(imgs) > 0: [bucket.delete_object(img) for img in imgs] db.session.delete(post) db.session.commit() return restful.success() else: return restful.params_error(message='帖子不存在')
def add_comment(request): form = AddCommentForm(request.POST) if form.is_valid(): content = form.cleaned_data.get('content') news_id = form.cleaned_data.get('news_id') news = News.objects.get(pk=news_id) comment = Comment.objects.create(content=content, news=news, author=request.user) serializer = CommentSerializer(comment) # 这一这里并没有指定many=True, # 因为comment并不是一个Queryset对象; # 只是一个普通对象 return restful.result(data=serializer.data) else: return restful.params_error(message=form.get_error())
def post(self): form = SignupForm(request.form) print("输入的图形验证码是", form.graph_captcha.data) print("输入的验证码是", form.sms_captcha.data) if form.validate(): telephone = form.telephone.data username = form.username.data password = form.password1.data user = FrontUer(telephone=telephone, username=username, password=password) db.session.add(user) db.session.commit() return restful.success() else: return restful.params_error(message=form.get_error())
def add_news(): form = AddNewsForm(request.form) print(form) if form.validate(): title = form.title.data content = form.content.data current_date = form.current_date.data image_url = form.image.data link_url = form.link.data # 保存到数据库 new = NewsModel(title=title, content=content, img=image_url, link=link_url, current_date=current_date) db.session.add(new) db.session.commit() return restful.success() else: return restful.params_error(form.get_error())
def post(self, request): form = EditNewsForm(request.POST) 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') category_id = form.cleaned_data.get('category') pk = form.cleaned_data.get('pk') category = NewsCategory.objects.get(pk=category_id) print("pk: ", pk) # Edit news. News.objects.filter(pk=pk).update(title=title, desc=desc, thumbnail=thumbnail, content=content, category=category) return restful.ok() else: return restful.params_error(message=form.get_errors())
def post(self, request): form = WriteArticlesForm(request.POST) if form.is_valid(): title = form.cleaned_data.get('title') desc = form.cleaned_data.get('desc') content = form.cleaned_data.get('content') category_id = form.cleaned_data.get('category') category = ArticlesCategory.objects.get(pk=category_id) Articles.objects.create(title=title, desc=desc, content=content, category=category, author=request.user) return restful.ok() else: return restful.params_error(message=form.get_errors())
def post(self, request): form = EditArticlesForm(request.POST) if form.is_valid(): title = form.cleaned_data.get('title') desc = form.cleaned_data.get('desc') content = form.cleaned_data.get('content') category_id = form.cleaned_data.get('category') pk = form.cleaned_data.get("pk") category = ArticlesCategory.objects.get(pk=category_id) Articles.objects.filter(pk=pk).update(title=title, desc=desc, content=content, category=category) return restful.ok() else: return restful.params_error(message=form.get_errors())