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)
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})