def add(request): if request.method == 'POST': form = EntryForm(request.POST) # A form bound to the POST data if form.is_valid(): form.save(request.user) messages.success(request, 'Entry was successfully added!') return redirect('blog:index') else: errors = [] for field in form: for error in field.errors: errors.append(field.label + " " + error) for error in form.non_field_errors(): errors.append(field.label + " " + error) print(errors) else: form = EntryForm() context = {'form': form} return render(request, 'blog/entry.html', context)
def create_edit_entry(entry_id=0): errors = None if entry_id == 0: entry_form = EntryForm() else: entry = Entry.query.filter_by(id=entry_id).first_or_404() entry_form = EntryForm(obj=entry) if request.method == "POST": if request.form["btn"] == "Save": if entry_form.validate_on_submit(): if entry_id == 0: entry = Entry(title=entry_form.title.data, body=entry_form.body.data, is_published=entry_form.is_published.data) db.session.add(entry) else: entry_form.populate_obj(entry) else: errors = entry_form.errors flash('Nie wpowadzono zmian', 'danger') if request.form["btn"] == "Cancel": return redirect(url_for("index")) db.session.commit() flash('Zmiany dodane pomyślnie', 'success') return redirect(url_for("index")) return render_template("entry_form.html", entry_form=entry_form, errors=errors)
def create_update(entry_id=None): errors = None if entry_id != None: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) if request.method == 'POST': if form.validate_on_submit(): form.populate_obj(entry) db.session.commit() else: errors = form.errors else: form = EntryForm() if request.method == 'POST': if form.validate_on_submit(): entry = Entry( title=form.title.data, body=form.body.data, is_published=form.is_published.data ) db.session.add(entry) db.session.commit() else: errors = form.errors return form, errors
def create_update(entry_id=None): errors = None if entry_id is None: form = EntryForm() if request.method == 'POST': if form.validate_on_submit(): entry = Entry( title=form.title.data, body=form.body.data, is_published=form.is_published.data ) db.session.add(entry) db.session.commit() flash('The post has been successfully added!') return redirect(url_for("index")) else: errors = form.errors elif entry_id != 0: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) if request.method == 'POST': if form.validate_on_submit(): form.populate_obj(entry) db.session.commit() flash('The post has been successfully changed!') return redirect(url_for("index")) else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def get_entries(entry_id): errors = None if entry_id != 0: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) flash_mess = f'Edytowano post {entry.title} na blogu.' else: form = EntryForm() entry = Entry( title=form.title.data, body=form.body.data, is_published=form.is_published.data ) flash_mess = f'Dodano post {entry.title} na bloga.' if request.method == 'POST': if form.validate_on_submit(): if entry_id != 0: form.populate_obj(entry) else: db.session.add(entry) db.session.commit() flash(flash_mess) return redirect(url_for("index")) else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def entry(entry_id=None): if entry_id is None: form = EntryForm() errors = None if request.method == "POST": if form.validate_on_submit(): entry = Entry( title = form.title.data, body = form.body.data, is_published = form.is_published.data ) db.session.add(entry) db.session.commit() flash(f'Dodano wpis {form.title.data} do bloga!') else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors) else: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) errors = None if request.method == 'POST': if form.validate_on_submit(): form.populate_obj(entry) db.session.commit() flash(f'Zmieniono wpis {form.title.data}') else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def create_or_edit_entry(**kwargs): # GET entry_id = kwargs.pop('entry_id', None) form = EntryForm() entry = None errors = None if entry_id: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) # POST if request.method == 'POST': if form.validate_on_submit(): if entry_id: form.populate_obj(entry) db.session.commit() flash( 'Zmiany w poscie zostały zapisane. ' 'Aby wyświetlić go na stronie głównej pamiętaj aby zaznaczyć "Wpis opublikowany"' ) else: entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) db.session.commit() flash( 'Nowy post został dodany. ' 'Aby wyświetlić go na stronie głównej pamiętaj aby zaznaczyć "Wpis opublikowany"' ) else: errors = form.errors return render_template('entry_form.html', form=form, errors=errors)
def add_post(id=None): if id: post = Entry.query.filter_by(id=id).first() form = EntryForm( data={ 'title': post.title, 'body': post.body, 'is_published': post.is_published }) post.title = form.title.data post.body = form.body.data post.is_published = form.is_published.data if form.is_published.data: flash(f'Post "{form.title.data.upper()}" updated!') else: flash('Required box not checked. Post not added.') else: form = EntryForm() new_post = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(new_post) if form.is_published.data: flash(f'New post "{form.title.data.upper()}" added!') else: flash('Required box not checked. Post not added.') db.session.commit()
def newpost(request): if request.POST: entryform = EntryForm(request.POST) if entryform.is_valid(): entryform.save(request) messages.add_message(request, messages.WARNING, 'Your post is waiting to approve by admin.') return render_to_response('home.html', RequestContext(request)) else: entryform = EntryForm() return render_to_response('newpost.html', {'form': entryform}, RequestContext(request))
def get_post(id=None): if id: post = Entry.query.filter_by(id=id).first() form = EntryForm( data={ 'title': post.title, 'body': post.body, 'is_published': post.is_published }) else: form = EntryForm() return form
def edit(request, entry_id): entry = get_object_or_404(Entry, id=entry_id) if request.method == 'POST': form = EntryForm(request.POST, instance=entry) if form.is_valid(): form.save() messages.success(request, 'Entry was successfully edited!') return redirect('index') else: form = EntryForm(instance=entry) context = {'form': form} return render(request, 'blog/entry.html', context)
def delete_entry(entry_id=None): entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) db.session.delete(entry) db.session.commit() flash(f'Usuniętio wpis {form.title.data}') return redirect(url_for("list_drafts"))
def create_entry(): form = EntryForm() errors = None if request.method == 'POST': edit_db_entry(form=form) return redirect(url_for('index')) return render_template("entry_form.html", form=form, errors=errors)
def delete_entry(entry_id): entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) if request.method == 'POST': db.session.delete(entry) db.session.commit() return redirect(url_for('index'))
def new_entry(request, topic_id): '''添加新条目''' topic = Topic.objects.get(id=topic_id) if topic.owner != request.user: raise Http404 if request.method != 'POST': form = EntryForm() else: form = EntryForm(request.POST) if form.is_valid(): new_entry = form.save(commit=False) new_entry.topic = topic new_entry.save() return redirect(reverse('blog:topic', args=[topic_id])) context = {'form': form, 'title': '条目创建页面', 'topic': topic} return render(request, 'blog/new_entry.html', context)
def edit_entry(request, entry_id): '''编辑既有条目''' entry = Entry.objects.get(id=entry_id) topic = entry.topic if topic.owner != request.user: raise Http404 if request.method != 'POST': form = EntryForm(instance=entry) else: form = EntryForm(data=request.POST, instance=entry) if form.is_valid(): form.save() return redirect(reverse('blog:topic', args=[topic.id])) context = {'form': form, 'title': '编辑条目页面', 'topic': topic, 'entry': entry} return render(request, 'blog/edit_entry.html', context)
def edit_entry(request, entry_id): """编辑条目""" entry = Entry.objects.get(id=entry_id) topic = entry.topic if topic.author != request.user: raise Http404 if request.method != 'POST': # 未提交数据:创建一个新表单 form = EntryForm(instance=entry) else: # POST提交的数据,对数据进行处理 form = EntryForm(instance=entry, data=request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('blog:topic', args=[topic.id])) context = {'entry': entry, 'topic': topic, 'form': form} return render(request, 'blog/edit_entry.html', context)
def edit_entry(entry_id): entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) errors = None if request.method == 'POST': edit_db_entry(form=form, entry_id=entry_id) return redirect(url_for('index')) return render_template("entry_form.html", form=form, errors=errors)
def new_entry(request, topic_id): topic = Topic.objects.get(id=topic_id) if topic.author != request.user: raise Http404 if request.method != 'POST': # 未提交数据:创建一个新表单 form = EntryForm() else: # POST提交的数据,对数据进行处理 form = EntryForm(data=request.POST) if form.is_valid(): new_entry = form.save(commit=False) new_entry.topic = topic new_entry.save() return HttpResponseRedirect(reverse('blog:topic', args=[topic_id])) context = {'topic': topic, 'form': form} return render(request, 'blog/new_entry.html', context)
def create_entry(): form = EntryForm() entry_id = None entry = Entry( title=form.title.data, body=form.body.data, is_published=form.is_published.data ) return create_or_edit_entry(entry_id, entry, form)
def create_entry(): form = EntryForm() errors = None if request.method == 'POST': errors = new_or_edit(form) return redirect(url_for('index', errors=errors)) #error message return render_template("entry_form.html", form=form, errors=errors)
def create_edit(entry_id=None, entry=None): form = EntryForm() errors = None if request.method == 'POST': if form.validate_on_submit(): if entry_id == None: entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) db.session.commit() flash('Dodano nowy post') else: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) form.populate_obj(entry) db.session.commit() flash('Zaktualizowano post') else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def delete_entry(entry_id): entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) errors = None if request.method == 'POST': if form.validate_on_submit(): db.session.delete(entry) db.session.commit() flash(f'Usunięto wpis!') return redirect(url_for('list_drafts')) else: errors = form.errors return errors
def edit(request, entry_id): e = get_object_or_404(Entry, id=entry_id) if request.user.id == e.author.id: if request.POST: entryform = EntryForm(request.POST) if entryform.is_valid(): entryform.save_as(request, e) messages.add_message(request, messages.WARNING, 'Your post is waiting for approvement.') return HttpResponseRedirect('/') else: entryform = EntryForm({'title': e.title, 'content': e.content}) return render_to_response('edit.html', { 'entry_id': entry_id, 'form': entryform }, RequestContext(request)) else: messages.add_message( request, messages.ERROR, 'You can not edit this post, because you are not the author of it.' ) return HttpResponseRedirect('/')
def generate_post(entry_id=None): if entry_id: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) else: form = EntryForm() errors = None if request.method == 'POST': if form.validate_on_submit(): if entry_id: form.populate_obj(entry) flash('Post changed', 'success') else: entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) flash('Post created', 'success') db.session.commit() else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def create_and_edit_entry(entry_id=None): if entry_id != None: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) else: form = EntryForm() error = None if request.method == 'POST': if form.validate_on_submit(): if entry_id != None: form.populate_obj(entry) else: entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) db.session.commit() if entry.is_published == True: flash("Dodano nowy wpis do blogu") return redirect(url_for('homepage')) else: error = form.errors return render_template('entry_form.html', form=form, error=error)
def create_entry(): ## return create_edit(None) form = EntryForm() errors = None if request.method == 'POST': if form.validate_on_submit(): entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) db.session.commit() else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def edit_entry(entry_id): ## return create_edit(entry_id) entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) errors = None if request.method == "POST": if form.validate_on_submit(): form.populate_obj(entry) db.session.commit() flash("Twój wpis został zmieniony", "info") return redirect("/") else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def edit_entry(entry_id=None): if entry_id: entry = Entry.query.filter_by(id=entry_id).first_or_404() form = EntryForm(obj=entry) else: form = EntryForm() errors = None if request.method == 'POST': if form.validate_on_submit(): if entry_id: form.populate_obj(entry) flash("Successfully edited the post.") else: entry = Entry(title=form.title.data, body=form.body.data, is_published=form.is_published.data) db.session.add(entry) flash("Successfully created the post.") db.session.commit() return redirect("/") else: errors = form.errors return render_template("entry_form.html", form=form, errors=errors)
def search(): errors = None form = EntryForm() search_query = request.args.get("q", "") all_posts = Entry.query.filter_by(is_published=True).order_by( Entry.pub_date.desc()) if search_query: posts = Entry.query.filter( or_(Entry.title.like('%' + search_query + '%'), Entry.body.like('%' + search_query + '%'))) return render_template("search.html", posts=posts, search_query=search_query) else: errors = form.errors return render_template("homepage.html", form=form, errors=errors)