Пример #1
0
def show_list(category_slug, page=1, page_size=20):
    """
    显示指定栏目下的内容列表
    :param category_slug:
    :param page:
    :param page_size:
    :return:
    """
    # GET /software/1/1_20
    # curl 'http://127.0.0.1:5000/software/1_20.html?q=www&s=created_at&o=asc'

    query, sort, order = get_query_info(request)

    category = Category.get_by_slug(category_slug)

    if not category:
        abort(404)

    ModelClass = globals()[ENTRY_TYPE_MODEL_CLASSNAME[
        category.entry_type.code]]

    _total, _pages, _list = ModelClass.get_page_by_category_id(
        category.id, sort, order, page, page_size)

    return render_html(category.list_template,
                       data_list=_list,
                       category_slug=category_slug,
                       total=_total,
                       page=page,
                       page_size=page_size)
Пример #2
0
def login():

    form_class = _security.login_form
    form = form_class()

    if form.validate_on_submit():
        login_user(form.user, remember=form.remember.data)
        after_this_request(_commit)

        if not request.json:
            return redirect(get_post_login_redirect(form.next.data))

    return render_html('content/login.html', login_user_form=form)
Пример #3
0
def login():

    form_class = _security.login_form
    form = form_class()

    if form.validate_on_submit():
        login_user(form.user, remember=form.remember.data)
        after_this_request(_commit)

        if not request.json:
            return redirect(get_post_login_redirect(form.next.data))

    return render_html('content/login.html', login_user_form=form)
Пример #4
0
def index():
    # redirect("/static/log/index.html")
    # print request
    # print request.host_url
    #
    # print request.full_path
    #
    # print
    # print dir(request)

    # current_app.logger.error(u'请注意:出现内部错误')
    # raise Exception('ERROR123')
    # raise Exception(u'出现内部错误123456qqq')
    print current_user.username, current_user.is_authenticated()

    return render_html('content/index.html', url_base=request.base_url)
Пример #5
0
def index():
    # redirect("/static/log/index.html")
    # print request
    # print request.host_url
    #
    # print request.full_path
    #
    # print
    # print dir(request)

    # current_app.logger.error(u'请注意:出现内部错误')
    # raise Exception('ERROR123')
    # raise Exception(u'出现内部错误123456qqq')
    print current_user.username, current_user.is_authenticated()

    #todo 获取栏目列表
    return render_html('content/index.html', url_base=request.base_url, category_list=Category.get_all())
Пример #6
0
def create():
    """
    创建新的文章
    @param category_id:
    @return:
    """

    new_templates = 'entry/create.html'
    form = SoftwareForm(request.form,
                        next=request.args.get('next', None),
                        entry_type=1)

    if request.method == 'POST' and form.validate():
        # 获取指定的表单数据
        entry = Entry()
        form.populate_obj(entry)
        category = Category.get_by_id(int(1))

        is_draft = False

        #if form.draft.data:
        #    is_draft = True
        print entry.title
        if not Entry.add_or_update(category, entry, is_draft, True):
            flash(_("Internal error"), "failed")
            return render_template(new_templates,
                                   form=form,
                                   category=category,
                                   current_category=category)

        flash(_("Create success"), "success")

        #next_url = form.next.data

        # todo wqq: 这里能否不做跳转,送回json数据返回ID号,由前端去做处理
        #if not next_url or next_url == request.path:
        #    next_url = url_for('portal.entry', slug=entry.slug)

        return render_json({"success": "true", "id": entry.id})
    elif form.errors:
        print "oooooooooooooooooooooooooooo", form.validate()
        for error_name, error_value in form.errors.iteritems():
            print "error: %s %s" % (error_name, error_value)
        flash(_("Cause an error"), "failed")
    return render_html(new_templates, form=form)
Пример #7
0
def show_list(category_slug, page=1, page_size=20):
    """
    显示指定栏目下的内容列表
    :param category_slug:
    :param page:
    :param page_size:
    :return:
    """
    # GET /software/1/1_20
    # curl 'http://127.0.0.1:5000/software/1_20.html?q=www&s=created_at&o=asc'

    query, sort, order = get_query_info(request)

    category = Category.get_by_slug(category_slug)

    if not category:
        abort(404)

    ModelClass = globals()[ENTRY_TYPE_MODEL_CLASSNAME[category.entry_type.code]]

    _total, _pages, _list = ModelClass.get_page_by_category_id(category.id, sort, order, page, page_size)

    return render_html(category.list_template, data_list=_list, category_slug=category_slug, total=_total, page=page, page_size=page_size)
Пример #8
0
def t3():
    return render_html('portal/t3.html', url_base=request.base_url)
Пример #9
0
def bz():
    return render_html('portal/bz.html', category_slug="Cartoon_wallpaper", url_base=request.base_url)
Пример #10
0
def lg():
    return render_html('portal/lg.html', category_slug="app", url_base=request.base_url)
Пример #11
0
def sc():
    return render_html('portal/sc.html', category_slug="psd", url_base=request.base_url)
Пример #12
0
def index():
    return render_html('portal/home.html', category_slug="home", url_base=request.base_url)
Пример #13
0
def sc():
    return render_html('portal/sc.html',
                       category_slug="psd",
                       url_base=request.base_url)
Пример #14
0
def profile():
    """
    显示用户的个人信息
    :return:
    """
    return render_html('user/members.html', content='Profile Page')
Пример #15
0
def about():
    return render_html('portal/about.html')
Пример #16
0
def home():
    return render_html('portal/home.html')
Пример #17
0
def t3():
    return render_html('portal/t3.html', url_base=request.base_url)
Пример #18
0
def bz():
    return render_html('portal/bz.html',
                       category_slug="Cartoon_wallpaper",
                       url_base=request.base_url)
Пример #19
0
def lg():
    return render_html('portal/lg.html',
                       category_slug="app",
                       url_base=request.base_url)
Пример #20
0
def home():
    return render_html('portal/home.html')
Пример #21
0
def about():
    return render_html('portal/about.html')
Пример #22
0
def create():
    """
    创建新的文章
    http://127.0.0.1:5000/entry/create?category_id=1

    @param category_id:
    @return:
    """

    try:
        category_id = int(request.args.get('category_id', 0))
    except:
        category_id = 0
        abort(404)

    category = Category.get_by_id(category_id)

    if not category:
        abort(404)

    # 处理各类权限
    # if category.show_role:
    #     if not g.user or category.show_role > g.user.role:
    #         abort(404)
    #

    new_templates = category.create_template

    FormClass = globals()[ENTRY_TYPE_FORM_CLASSNAME[category.entry_type.code]]
    ModelClass = globals()[ENTRY_TYPE_MODEL_CLASSNAME[category.entry_type.code]]
    form = FormClass(request.form, next=request.args.get('next', None),
                        entry_type=category.entry_type)

    if request.method == 'POST':
        if form.validate():
            # 获取指定的表单数据
            entry = ModelClass()
            form.populate_obj(entry)

            is_draft = False

            if form.draft.data:
                is_draft = True

            if not ModelClass.add_or_update(category, entry, is_draft, True):
                flash(_("Internal error"), "failed")
                return render_template(new_templates, form=form, category=category, current_category=category)

            flash(_("Create success"), "success")

            next_url = form.next.data

            if not next_url or next_url == request.path:
                print 'category.slug: ', category.slug
                print 'entry.slug: ', entry.slug
                next_url = url_for('frontend.show', category_slug=category.slug, entry_slug=entry.slug)

            return redirect(next_url)
        elif form.errors:
            if __debug__:
                print "form errors", form.validate()

            for error_name, error_value in form.errors.iteritems():
                if __debug__:
                    print "error: %s %s" % (error_name, error_value)

            flash(_("Cause an error"), "failed")

    return render_html(new_templates, form=form)
Пример #23
0
def create():
    """
    创建新的文章
    http://127.0.0.1:5000/entry/create?category_id=1

    @param category_id:
    @return:
    """

    try:
        category_id = int(request.args.get('category_id', 0))
    except:
        category_id = 0
        abort(404)

    category = Category.get_by_id(category_id)

    if not category:
        abort(404)

    # 处理各类权限
    # if category.show_role:
    #     if not g.user or category.show_role > g.user.role:
    #         abort(404)
    #

    new_templates = category.create_template

    FormClass = globals()[ENTRY_TYPE_FORM_CLASSNAME[category.entry_type.code]]
    ModelClass = globals()[ENTRY_TYPE_MODEL_CLASSNAME[
        category.entry_type.code]]
    form = FormClass(request.form,
                     next=request.args.get('next', None),
                     entry_type=category.entry_type)

    if request.method == 'POST':
        if form.validate():
            # 获取指定的表单数据
            entry = ModelClass()
            form.populate_obj(entry)

            is_draft = False

            if form.draft.data:
                is_draft = True

            if not ModelClass.add_or_update(category, entry, is_draft, True):
                flash(_("Internal error"), "failed")
                return render_template(new_templates,
                                       form=form,
                                       category=category,
                                       current_category=category)

            flash(_("Create success"), "success")

            next_url = form.next.data

            if not next_url or next_url == request.path:
                print 'category.slug: ', category.slug
                print 'entry.slug: ', entry.slug
                next_url = url_for('frontend.show',
                                   category_slug=category.slug,
                                   entry_slug=entry.slug)

            return redirect(next_url)
        elif form.errors:
            if __debug__:
                print "form errors", form.validate()

            for error_name, error_value in form.errors.iteritems():
                if __debug__:
                    print "error: %s %s" % (error_name, error_value)

            flash(_("Cause an error"), "failed")

    return render_html(new_templates, form=form)
Пример #24
0
def index():
    return render_html('portal/home.html',
                       category_slug="home",
                       url_base=request.base_url)