Exemple #1
0
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()
Exemple #2
0
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()
Exemple #3
0
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()
Exemple #4
0
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()
Exemple #5
0
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()
Exemple #6
0
 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())
Exemple #7
0
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())
Exemple #8
0
 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())
Exemple #9
0
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="参数错误!")
Exemple #10
0
 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())
Exemple #11
0
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())
Exemple #12
0
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())
Exemple #13
0
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())
Exemple #14
0
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())
Exemple #15
0
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()
Exemple #16
0
 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())
Exemple #17
0
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='参数错误!')
Exemple #19
0
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)
Exemple #20
0
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())
Exemple #21
0
 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())
Exemple #22
0
    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)
Exemple #23
0
 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())
Exemple #24
0
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())
Exemple #25
0
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)
Exemple #26
0
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='识别不了该文件')
Exemple #27
0
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())
Exemple #28
0
 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('请检查你输入的内容')
Exemple #30
0
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='参数错误')
Exemple #31
0
 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)
Exemple #32
0
 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())
Exemple #33
0
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='该分类已经存在!')
Exemple #34
0
 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())
Exemple #35
0
 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)
Exemple #36
0
 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='不能为空')
Exemple #37
0
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())
Exemple #38
0
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())
Exemple #39
0
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()
Exemple #40
0
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())
Exemple #41
0
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='帖子不存在')
Exemple #42
0
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())
Exemple #43
0
 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())
Exemple #44
0
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())
Exemple #45
0
 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())
Exemple #46
0
 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())
Exemple #47
0
 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())