def create(type):
    if requested_type(type):
        if request.method == 'POST':
            title = request.form['title']
            slug = request.form['slug']
            type_id = request.form['type_id']
            body = request.form['body']

            error = None
            if not title:
                error = "Title must not be empty."
            elif not type_id:
                error = "Type must not be empty."

            if error is None:
                content = Content(title=title, slug=slug, type_id=type_id, body=body)
                db.session.add(content)
                db.session.commit()
                return redirect(url_for('admin.content', type=type))

            flash(error)
        types = Type.query.all()
        return render_template('admin/content_form.html', title='Create', types=types, type_name=type)
    else:
        abort(404)
예제 #2
0
def add_content():
    objects = [
        Type(name='page'),
        Type(name='post'),
        Type(name='template'),
        Type(name='partial'),
        Content(title='Home', slug='home', type_id=1, body='Home'),
        Content(title='About', slug='about', type_id=1, body='About'),
        Content(title='Contact Us',
                slug='contact-us',
                type_id=1,
                body='Contact Us'),
        User(username='******',
             email='*****@*****.**',
             firstname='PS',
             lastname='Demo',
             password=generate_password_hash('psdemo'))
    ]
    db.session.bulk_save_objects(objects)
    db.session.commit()
    print('Content added to the database.')
예제 #3
0
def create(type):
    if requested_type(type):
        # https://stackoverflow.com/questions/42018603/handling-get-and-post-in-same-flask-view
        if request.method == 'POST':
            # https://stackoverflow.com/questions/42154602/how-to-get-form-data-in-flask
            # get doesn't pass
            # title = request.form.get('title')
            title = request.form['title']
            slug = request.form['slug']
            type_id = request.form['type_id']
            body = request.form['body']
            error = None
            # if title == '' :
            # if title is None:
            if not title:
                error = 'title is empty'
            # elif type_id == '':
            # elif type_id is None:
            elif not type_id:
                error = 'type is empty'
            if error is None:
                content = Content(title=title,
                                  slug=slug,
                                  type_id=type_id,
                                  body=body)
                db.session.add(content)
                db.session.commit()
                # https://flask.palletsprojects.com/en/1.1.x/api/#flask.url_for
                # remember type as an arg.  sigh
                return redirect(url_for('admin.content', type=type))
            flash(error)
        types = Type.query.all()
        return render_template('admin/content_form.html',
                               title='Create',
                               types=types,
                               type_name=type)
    else:
        abort(404)