Пример #1
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)
Пример #2
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)
Пример #3
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)
Пример #4
0
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)
Пример #5
0
def update(pk):
    news_obj = News.query.get(pk)
    if not news_obj:
        return redirect(url_for('admin'))
    form = NewsForm(obj=news_obj)
    news_obj.title = form.title.data
    news_obj.content = form.content.data
    news_obj.type = form.type.data
    news_obj.author = form.author.data
    news_obj.is_valid = form.is_valid.data
    news_obj.image = form.image.data

    db.session.add(news_obj)
    db.session.commit()
    flash('修改成功')
    return render_template('/admin/update.html', pk=pk, form=form)
Пример #6
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)
Пример #7
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)
Пример #8
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)
Пример #9
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(),
                       is_valid=True)
        # 保存数据
        db.session.add(new_obj)
        db.session.commit()
        return redirect(url_for('admin'))
    return render_template('admin/add.html', form=form)
Пример #10
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)
Пример #11
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #14
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)
Пример #15
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)
Пример #16
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)
Пример #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,
			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)
Пример #18
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)
Пример #19
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)
Пример #20
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)
Пример #21
0
def edit_news(request, post_id):
    market_item = get_object_or_404(MarketItem.objects.defer('comments'), pk=post_id)
    if market_item.owner != request.user:
        return HttpResponseForbiden()
    form = NewsForm(request.POST or None, instance=market_item)
    if request.method == 'POST' and form.is_valid():
        save_market_item(form, request.user)
        related_post_url = form.cleaned_data.get('related_post_url')
        if related_post_url:
            post_id = related_post_url.split('/')[-1]
            market_item.add_related_post(post_id, request.user)
        return redirect(reverse('show_post', args=[market_item.id]))
    else:
        form.fields['news_url'].initial = market_item.marketnewsitemdata.original_url
        related_post = market_item.marketitemrelatedpost_set.last()
        if related_post:
            market_item_url = settings.BASE_URL + reverse('show_post', args=[related_post.related_market_item.id])
            form.fields['related_post_url'].initial = market_item_url
    return render_to_response('market/create_news.html', {'form': form, 'news_item': market_item.marketnewsitemdata},
                              context_instance=RequestContext(request))
Пример #22
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/')
Пример #23
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)
Пример #24
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)
Пример #25
0
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)
Пример #26
0
def news_app():

    form = NewsForm()
    model = joblib.load("static/news_classifier.joblib")

    if form.validate_on_submit():
        news = [(form.text.data)]
        y = str(model.predict(news)[0])
        session["y"] = str(model.predict(news)[0])
        session["proba_fake"] = str(model.predict_proba(news)[0][0])
        session["proba_real"] = str(model.predict_proba(news)[0][1])

        if y == '1':
            session[
                "y"] = "The news article is most probably showing real news"
        elif y == "0":
            session["y"] = "The news article is most probably False"

        else:
            session["y"] = "Sorry we could not get an answer"

        return redirect(url_for("news_prediction"))

    return render_template("news_form.html", form=form)
Пример #27
0
def admin_add():
    '''跳转到后台新闻列表'''
    form = NewsForm()
    return render_template('admin/add.html', form=form)
Пример #28
0
def edit_news(request, id):
    news = get_object_or_404(News, id=id)
    news_contents = NewsContent.objects.filter(news=news)
    news_contents_langs = {}

    for lang in settings.LANGUAGES:
        news_contents_langs[lang] = None

    for news_content in news_contents:
        news_contents_langs[news_content.lang] = news_content

    if request.method == 'POST':
        news_form = NewsForm(request.POST, prefix='news_form', instance=news)

        if news_form.is_valid():
            news_form.save()
            news_content_forms = []
            for lang in settings.LANGUAGES:
                lang = lang[0]
                if lang in news_contents_langs:
                    news_content_forms.append({
                        'form':
                        NewsContentForm(request.POST,
                                        prefix='news_content_' + lang,
                                        instance=news_contents_langs[lang]),
                        'lang':
                        lang
                    })
                else:
                    news_content_forms.append({
                        'form':
                        NewsContentForm(request.POST,
                                        prefix='news_content_' + lang),
                        'lang':
                        lang
                    })

            valid = False
            for news_content_form in news_content_forms:
                valid = news_content_form['form'].is_valid()
                if not valid:
                    break

            if valid:
                for news_content_form in news_content_forms:
                    news_content = news_content_form['form'].save(commit=False)
                    news_content.news = news
                    news_content.lang = news_content_form['lang']
                    news_content.save()
                return redirect('news:administration:news_list')
    else:
        news_form = NewsForm(prefix="news_form", instance=news)
        news_content_forms = []
        for lang in settings.LANGUAGES:
            lang = lang[0]
            if lang in news_contents_langs:
                news_content_forms.append({
                    'form':
                    NewsContentForm(prefix='news_content_' + lang,
                                    instance=news_contents_langs[lang]),
                    'lang':
                    lang
                })
            else:
                news_content_forms.append({
                    'form':
                    NewsContentForm(prefix='news_content_' + lang),
                    'lang':
                    lang
                })
    return render(request, 'news/administration/edit_news.html', {
        'news_form': news_form,
        'news_content_forms': news_content_forms,
    })