Beispiel #1
0
def add_item():
    if request.method == 'GET':
        catagories = session.query(Catagory).all()
        return render_template('newitem.html', catagories=catagories)
    elif request.method == 'POST':
        title_ = request.form['title']
        catagory = request.form['catagory']
        description = request.form['description']
        exists = session.query(Item).filter_by(title=title_).first()
        if exists:
            flash('This item already exists')
            return redirect(request.url, 302)
        item = Item(title=title_)
        item.description = description
        catagory_object = session.query(Catagory).\
            filter_by(name=catagory).one()
        item.catagory_id = catagory_object.id
        item.author = login_session['username']
        if 'file' not in request.files:
            # print 'file not in request.files', request.files
            item.image = 'picture.png'
        else:
            file = request.files['file']
            if allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                item.image = filename
            else:
                flash("Uploaded file format must be .png .jpg .jpeg or gif")
                return redirect(request.url, 302)
        session.add(item)
        session.commit()
        return redirect('/', 302)
Beispiel #2
0
def item_create_update(request, id):
    print 'item_create_update ', id
    createNew = id == 'a'
    if createNew:
        item = Item(title='', description='', author='', pic='')
        form = bookForm()
        print 'create new form'
    else:
        item = Item.objects.get(id=id)
        form = bookForm(
            initial={
                'title': item.title,
                'description': item.description,
                'author': item.author,
                'pic': item.pic
            })
        print 'update exisiting form'
    if request.method == 'POST':
        form = bookForm(request.POST)
        print 'form-update-create-POST'
        if form.is_valid():  # coming from save button click
            print 'form update-create valid'
            item.author = form.cleaned_data['author']
            item.description = form.cleaned_data[
                'description'] or 'No Description'
            item.title = form.cleaned_data['title']
            item.pic = form.cleaned_data['pic'] or 'img/img3.jpeg'
            item.save()
            return HttpResponseRedirect(
                reverse('index'))  # you won't see 'form' in url
        else:
            print 'form Not Valid'
            return render(
                request,
                'library/item_create_update.html',
                {  # stay if not valid
                    'form': form
                })
    else:  # when getting to page at first - Stay
        print 'Initial update-create page ', id
        return render(request, 'library/item_create_update.html',
                      {'form': form})