示例#1
0
文件: main.py 项目: MadPuffer/infi
def edit_news(id):
    form = NewsForm()
    if request.method == "GET":
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news or current_user.is_admin:
            form.title.data = news.title
            form.description.data = news.description
            form.content.data = news.content
            form.tags.data = news.tags
            form.is_private.data = news.is_private
        else:
            abort(404)
    if form.validate_on_submit():
        session = db_session.create_session()
        news = session.query(News).filter(News.id == id,
                                          News.user == current_user).first()
        if news or current_user.is_admin:
            news.title = form.title.data
            news.content = form.content.data
            news.is_private = form.is_private.data
            session.commit()
            return redirect('/')
        else:
            abort(404)

    return render_template('adding.html', form=form)
示例#2
0
def index():
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(title=form.title.data, body=form.body.data)
        db.session.add(n1)
        db.session.commit()
        return redirect(url_for('index'))
    news_list = News.query.all()
    return render_template('index.html', news_list=news_list, form=form)
示例#3
0
def add():
    """ 新增新闻 """
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(title=form.title.data,
                  content=form.content.data,
                  img_url=form.img_url.data,
                  news_type=form.news_type.data)
        n1.save()
        flash("新增成功")
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
示例#4
0
文件: views.py 项目: slowcall/lo9
def news_post():
    form = NewsForm()
    if form.validate_on_submit():
        news = News(view = 0, title = form.title.data,url = form.url.data,hot = False)
        try:
            news.put()
            flash(u'저장 성공', 'success')
            return redirect(url_for('new_list'))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'failure')
            return redirect(url_for('new_list'))
    return render_template('news_post.html', form=form,title= request.args.get('title'), url= request.args.get('url'))
示例#5
0
def add_news():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.content = form.content.data
        news.is_private = form.is_private.data
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect('/blog')
    return render_template('add_news.html', title='News add', form=form)
示例#6
0
def news_post():
    form = NewsForm()
    if form.validate_on_submit():
        news = News(view = 0, title = form.title.data,url = form.url.data,hot = False)
        try:
            news.put()
            search.Index(name=_INDEX_NAME).add(create_doc(news.key.id(),news.title,news.url,news.post_time))
            flash(u'저장 성공', 'success')
            return redirect(url_for('new_list'))
        except CapabilityDisabledError:
            flash(u'App Engine Datastore is currently in read-only mode.', 'failure')
            return redirect(url_for('new_list'))
    return render_template('news_post.html', form=form,title= request.args.get('title'), url= request.args.get('url'),counter=counter.load_and_get_count("view"),acc=ACC)
示例#7
0
def add():
    # 新增
    form = NewsForm()
    if form.validate_on_submit():
        # 获取数据 -> 保存数据
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       types=form.types.data,
                       image=form.image.data,
                       created_at=datetime.now())
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
def update(pk):
    ''' 后台更新新闻 '''
    obj = News.objects.filter(pk=pk, is_valid=True).first_or_404()
    # obj = News.objects.get_or_404(pk=pk, is_valid=True)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data
        obj.updated_at = datetime.now()
        obj.save()
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
def update(pk):
    ''' 修改新闻数据 也可通过update进行逻辑删除,更改对象的is_valid属性 '''
    new_obj = News.objects.get_or_404(pk=pk)
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.news_type = form.news_type.data
        new_obj.img_url = form.image.data
        new_obj.save()
        flash('修改新闻成功')
        return redirect(url_for('admin'))
    #返回修改html,获取用户输入的表单信息
    return render_template('admin/update.html', form=form)
示例#10
0
def update(pk):
    """ 新增新闻 """
    obj = News.objects.filter(pk=pk).first()
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data

        obj.save()
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template("admin/update.html", form=form)
def add():
    ''' 新增新闻数据 '''
    form = NewsForm()
    if form.validate_on_submit():
        # 从前台表单中获取表单值组成的对象
        new_obj = News(
            title=form.title.data,
            content=form.content.data,
            news_type=form.news_type.data,
            img_url=form.image.data,
        )
        new_obj.save()
        flash('新增新闻成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
示例#12
0
def update(pk):
    ''' 后台更新新闻 '''
    news_obj = query.get_news_from_id(pk)
    if news_obj is None:
        abort(404)
    form = NewsForm(data=news_obj)
    if form.validate_on_submit():
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['news_type'] = form.news_type.data
        news_obj['updated_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        query.update_news(pk, news_obj)
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
示例#13
0
def update(pk):
    # 新闻后台数据修改
    news_obj = News.query.get(pk)
    # 如果没有数据,则返回
    if not news_obj:
        return redirect(url_for('admin'))
    form = NewsForm(obj=news_obj)
    if form.validate_on_submit():
        # 获取数据
        news_obj.title = form.title.data
        news_obj.content = form.content.data
        # 保存数据
        db.session.add(news_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
示例#14
0
def update(pk):
    """ add news """
    obj = News.query.get(pk)
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.news_type = form.news_type.data

        db.session.add(obj)
        db.session.commit()
        flash("Successfully modified")
        return redirect(url_for('admin'))
    return render_template("admin/update.html", form=form)
示例#15
0
def add():
    ''' 后台增加新闻 '''
    news_obj = {}
    form = NewsForm()
    if form.validate_on_submit():
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['img_url'] = form.img_url.data
        news_obj['is_valid'] = 1
        news_obj['news_type'] = form.news_type.data
        news_obj['created_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        news_obj['updated_at'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        query.add_news_with_trans(news_obj)
        flash("修改成功")
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
示例#16
0
文件: admin.py 项目: lpy148145/test
def news_add():
    form = NewsForm()
    form.created_at.data = datetime.now()
    try:
        if form.validate_on_submit():
            news = News(form.title.data, form.content.data, form.types.data,
                        form.img_url.data, form.author.data,
                        form.view_count.data, form.created_at.data,
                        form.is_valid.data, form.is_recommend.data)
            db.session.add(news)
            db.session.commit()
            flash('添加新闻成功!')
            return redirect(url_for('admin.news_detail'))
    except:
        flash('添加新闻失败!', category='error')
    return render_template('admin/news_add.html', form=form)
示例#17
0
def add():
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(
            title=form.title.data,
            content=form.content.data,
            image=form.image.data,
            type=form.type.data,
            author=form.author.data,
            created_at=datetime.now(),
        )
        db.session.add(n1)
        db.session.commit()
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
示例#18
0
def add():
    ''' 后台增加新闻 '''
    form = NewsForm()
    """
    validate_on_submit() call validate() only if the form is submitted. This is 
    a shortcut for form.is_submitted() and form.validate().
    """
    if form.validate_on_submit():
        print(form.title.data)
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       img_url=form.img_url.data,
                       news_type=form.news_type.data)
        new_obj.save()
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
示例#19
0
def add():
    """ 新增新闻 """
    form = NewsForm()
    if form.validate_on_submit():
        n1 = News(
            title=form.title.data,
            content=form.content.data,
            img_url=form.img_url.data,
            news_type=form.news_type.data,
            created_at=datetime.now(),
            updated_at=datetime.now(),
        )
        db.session.add(n1)
        db.session.commit()
        flash("Successfully added!")
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
示例#20
0
文件: main.py 项目: MadPuffer/infi
def add_post():
    form = NewsForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        news = News()
        news.title = form.title.data
        news.description = form.description.data
        news.content = form.content.data
        news.tags = form.tags.data
        news.is_private = form.is_private.data
        date = datetime.date.today()
        news.created_date = date
        current_user.news.append(news)
        session.merge(current_user)
        session.commit()
        return redirect("/")
    return render_template('adding.html', form=form)
示例#21
0
def update(pk):
    # 更新一条新闻
    new_obj = News.query.get(pk)
    # 如果没有取到数据,跳转后台管理页面
    if not new_obj:
        return redirect(url_for('admin'))
    #  修改前的记录渲染出来
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        #  获取数据
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        #  更改记录
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form=form)
示例#22
0
def update(pk):
	'''修改新闻信息'''
	new_obj = News.query.get(pk) 
	# 如果没有数据,则返回404 Not Found
	if new_obj is None:
		abort(404)
	form  = NewsForm(obj = new_obj)
	if form.validate_on_submit():
		new_obj.title = form.title.data
		new_obj.content = form.content.data
		new_obj.types = form.news_type.data
		new_obj.image = form.image.data

		db.session.add(new_obj)
		db.session.commit()
		flash('修改成功')
		return redirect(url_for('admin'))
	return render_template('admin/update.html', form = form)
def add():
    """ 新增新闻 """
    form = NewsForm()
    news_obj = {}  # 空的字典保存前台的表单数据
    if form.validate_on_submit():
        """ 这个和更新新闻相反, 我们空的一个form来让用户新增,然后提交获得表单保存到数据库,重定向到首页"""
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['news_type'] = form.news_type.data
        news_obj['created_at'] = datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')  # 由于是新增,所以保存新增和更新时间
        news_obj['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        news_obj['is_valid'] = True
        news_obj['img_url'] = form.image.data
        query.add_news(news_obj)
        flash('新增成功')
        return redirect(url_for('admin'))
    return render_template("admin/add.html", form=form)
示例#24
0
def update(pk):
    ''' 后台新闻修改 '''
    obj = News.query.get(pk)
    # 为给定的状态码引发HTTPExeception
    if obj is None:
        abort(404)
    form = NewsForm(obj=obj)
    if form.validate_on_submit():
        obj.title = form.title.data
        obj.content = form.content.data
        obj.type = form.type.data
        # 将修改后的对象提交事务
        db.session.add(obj)
        db.session.commit()
        flash("修改成功")
        # 跳转到首页
        return redirect(url_for('admin'))
    return render_template('admin/update.html', form = form)
示例#25
0
def add():
	'''新闻新增'''
	form = NewsForm()
	if form.validate_on_submit():
		# 获取用户输入表达中的数据
		# 保存数据
		n1 = News(
			title = form.title.data,
			content = form.content.data,
			image = form.image.data,
			types = form.news_type.data,
			created_at = datetime.now(),
			is_valid = 1)
		db.session.add(n1)
		db.session.commit()
		# 文字提示flash
		flash('新增成功!')
		return redirect(url_for('admin')) #新增加入数据库之后重定向到首页
	return render_template('admin/add.html', form = form)
示例#26
0
def add():
    ''' 新增新闻数据 '''
    form = NewsForm()
    if form.validate_on_submit():
        # 获取数据
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       author=form.author.data,
                       types=form.types.data,
                       image=form.image.data,
                       created_at=datetime.now(),
                       is_valid=True)
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()
        # 文字提示
        # flash
        return redirect(url_for('admin'))  # 跳转到后台首页
    return render_template('admin/add.html', form=form)
示例#27
0
def update(pk):
    ''' 修改新闻数据 '''
    new_obj = News.query.get(pk)
    # 如果没有数据,则返回
    if not new_obj:
        # TODO 使用Flash进行文字提示用户
        return redirect(url_for('admin'))
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        # 获取数据
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        new_obj.image = form.image.data
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))  # 跳转到后台首页
    return render_template('admin/update.html', form=form)
示例#28
0
def update(pk):
    # 更新
    new_obj = News.query.get(pk)
    if not new_obj:
        return redirect(url_for('admin'))
    # 将表单默认显示的值传入
    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        # 获取数据 -> 保存数据
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        new_obj.image = form.image.data
        new_obj.created_at = datetime.now()

        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))

    return render_template('admin/update.html', form=form, pk=pk)
示例#29
0
def admin_do_add():
    ''' 新增新闻信息 '''
    form = NewsForm()
    if form.validate_on_submit():
        # 获取数据
        new_obj = News(title=form.title.data,
                       content=form.content.data,
                       types=form.types.data,
                       image=form.image.data,
                       author=form.author.data,
                       created_at=datetime.now(),
                       view_count=0,
                       is_valid=True)
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()

        # 文字提示flash消息闪现
        flash('添加成功')
    return redirect('/admin/')
示例#30
0
def admin_update(pk):
    '''后台新闻列表'''
    new_obj = News.query.get(pk)
    if not new_obj:
        return redirect(url_for('admin'))

    form = NewsForm(obj=new_obj)
    if form.validate_on_submit():
        new_obj.title = form.title.data
        new_obj.content = form.content.data
        new_obj.types = form.types.data
        new_obj.author = form.author.data
        new_obj.created_at = datetime.now()
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()

        # 文字提示flash消息闪现
        flash('修改成功')
        return redirect('/admin/')

    return render_template('admin/update.html', new_obj=new_obj, form=form)
示例#31
0
def add():
    ''' 后台新闻新增'''
    form = NewsForm()
    if form.validate_on_submit():
        # 验证数据后获取数据
        # 保存数据
        new_obj = News(
            title=form.title.data,
            content=form.content.data,
            type=form.type.data,
            image=form.image.data,
            created_at=datetime.now(),
            is_valid=1
        )
        db.session.add(new_obj)
        db.session.commit()
        # 文字提示
        flash("新增成功")
        # Returns a response object(a WSGI application) that, if called, redirects the client to the target location
        return redirect(url_for('admin'))
    else:
        flash("请输入新闻数据")
    return render_template('admin/add.html', form=form)
def update(pk):
    """ 更新时间 """
    news_obj = query.get_news_from_id(pk)
    if news_obj is None:
        abort(404)
    """
    form = NewsForm()
    render_template("admin/update.html", form=form)
    提交到update.html中,则新闻标题、新闻内容、新闻类型都默认是空的
    我们需要让用户在原来的数据上修改(get方式请求),因此先查询到这个数据,然后在将form对象提交到数据库(post方式)
    """
    form = NewsForm(data=news_obj)
    if form.validate_on_submit():
        ''' 用户点击提交按钮,修改数据库对应新闻数据 重定向到首页 '''
        news_obj['title'] = form.title.data
        news_obj['content'] = form.content.data
        news_obj['news_type'] = form.news_type.data
        news_obj['updated_at'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        query.update_news(pk, news_obj)
        flash('修改成功')
        return redirect(url_for('admin'))
    # 用户点击按钮,返回给前台数据展示update.html
    return render_template("admin/update.html", form=form)