コード例 #1
0
ファイル: views.py プロジェクト: huayuev5/potato-blog-example
def blog_entry_add_view(request):
    """
    lets superusers add a blog entry
    :param request:
    :return:
    """
    options = blogAttributes()
    entryForm = EntryForm()
    options['form'] = entryForm
    options['tags'] = Tag.objects.all()
    if request.POST and request.method == 'POST':
        entryForm = EntryForm(request.POST)
        if entryForm.is_unique(request):
            entry = entryForm.customSave(request.user)
            # loop through the tags
            if len(entry.tags) > 0:
                tags = entry.tags.split(',')
                for tag in tags:
                    # if the tag doesn't exist
                    if not Tag.objects.filter(name=tag).exists():
                        # save the tag
                        t = Tag()
                        t.name = tag
                        t.save()
            messages.add_message(request, messages.SUCCESS, 'The Entry has been saved')
            return redirect(blog_view)
        else:
            messages.add_message(request, messages.ERROR, 'An Entry with this Title already exists')

    return render_to_response('entryForm.html', options, context_instance=RequestContext(request))
コード例 #2
0
    def post(self, request, *args, **kwargs):
        if "cancel" in request.POST:
            return redirect("blog:admin_index")
        context = self.get_context_data(**kwargs)
        entry = context.get("entry")
        new_entry = False
        if not entry:
            new_entry = True
            entry = Entry(blog=self.blog)
        form = EntryForm(request.POST, instance=entry)
        if form.is_valid():
            entry = form.save()
            if request.is_ajax():
                return JsonResponse(dict(status="success",
                                         message=unicode(form.success_message)))
            else:
                messages.success(self.request, form.success_message)
                if new_entry:
                    return redirect("blog:admin_edit_entry", entry_id=entry.id)
                context["form"] = EntryForm(instance=entry)
                return self.render_to_response(context)

        else:
            if request.is_ajax():
                errors = {}
                for field_name, errors_list in form.errors.items():
                    errors[field_name] = errors_list[0]
                return JsonResponse(dict(status="error", errors=errors,
                                         message=unicode(form.error_message)))
            else:
                messages.error(self.request, form.error_message)
                context["form"] = EntryForm(request.POST)
                return self.render_to_response(context)
コード例 #3
0
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()
コード例 #4
0
ファイル: views.py プロジェクト: huayuev5/potato-blog-example
def blog_entry_edit_view(request, eID):
    """
    lets superusers edit a blog entry
    :param request:
    :return:
    """
    options = blogAttributes()
    entry = get_object_or_404(Entry, id=eID)
    options['entry'] = entry
    options['form'] = EntryForm(instance=entry)
    if request.POST and request.method == 'POST':
        entryForm = EntryForm(request.POST, instance=get_object_or_404(Entry, id=eID))
        if entryForm.is_unique(request, entry):
            if entryForm.has_changed():
                entry = entryForm.customSave(request.user)
                # loop through the tags
                if len(entry.tags) > 0:
                    tags = entry.tags.split(',')
                    for tag in tags:
                        # if the tag doesn't exist
                        if not Tag.objects.filter(name=tag).exists():
                            # save the tag
                            t = Tag()
                            t.name = tag
                            t.save()
                messages.add_message(request, messages.SUCCESS, 'The Entry has been updated')
                return redirect(blog_entry_view, titleSlug=entry.title_slug)
            else:
                messages.add_message(request, messages.INFO, 'No changes have been made')
        else:
            messages.add_message(request, messages.ERROR, 'An Entry with this Title already exists')

    return render_to_response('entryForm.html', options, context_instance=RequestContext(request))
コード例 #5
0
ファイル: views.py プロジェクト: jungkeuny/jklog
def edit(request, pk):
    entry = get_object_or_404(Entry, pk=pk)
    if request.method == "POST":
        form = EntryForm(request.POST, instance=entry)
        if form.is_valid():
            entry = form.save()
            return redirect("blog.views.detail", entry.pk)
    else:
        form = EntryForm(instance=entry)
    return render(request, "blog/form.html", {"form": form})
コード例 #6
0
ファイル: views.py プロジェクト: grgizem/simple-blog
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))
コード例 #7
0
ファイル: views.py プロジェクト: jungkeuny/jklog
def new(request):
    if request.method == "POST":
        form = EntryForm(request.POST)
        if form.is_valid():
            entry = form.save(commit=False)
            entry.author = request.user
            entry.save()
            return redirect("blog.views.detail", entry.pk)
    else:
        form = EntryForm()
    return render(request, "blog/form.html", {"form": form})
コード例 #8
0
ファイル: views.py プロジェクト: Lewinalle/mysite
def BlogPage(request):
    if request.method == 'POST':
	form = EntryForm(request.POST, request.FILES)
	if form.is_valid():
	    newdoc = models.Entry(image1 = request.FILES['image1'])
	    newdoc.save()
	    return HttpResponseRedirect('/blog')
    else:
	form = EntryForm()
    entries = models.Entry.objects.all()
    return render_to_response('blog.html', {'entries': entries, 'form': form}, context_instance = RequestContext(request))
コード例 #9
0
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
コード例 #10
0
ファイル: views.py プロジェクト: Nirland/djblog
def entry_add(request):
    if request.method == 'POST':
        form = EntryForm(request.POST, request.FILES)
        if form.is_valid():
            entry = form.save(request.user)
            if entry.id > 0:
                return HttpResponseRedirect(entry.get_absolute_url())
        else:
            form_to_template = form
    else:
        form_to_template = EntryForm()
    return render_to_response('entry_modify.html',{'form': form_to_template, 'edit': False},
                              context_instance = RequestContext(request))
コード例 #11
0
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
コード例 #12
0
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)
コード例 #13
0
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)
コード例 #14
0
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)
コード例 #15
0
ファイル: routes.py プロジェクト: MegLip/Blog_Project
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)
コード例 #16
0
ファイル: routes.py プロジェクト: artcom-rapa/blog_api
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
コード例 #17
0
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)
コード例 #18
0
ファイル: views.py プロジェクト: Nirland/djblog
def entry_edit(request, id):
    entry = get_object_or_404(Entry, pk=id)
    if entry.user != request.user:
        return HttpResponseRedirect(entry.get_absolute_url())
    if request.method == 'POST':
        form = EntryForm(request.POST, request.FILES, instance=entry)
        if form.is_valid():
            entry = form.save(request.user)
            return HttpResponseRedirect(entry.get_absolute_url())
        else:
           form_to_template = form
    else:
        form_to_template = EntryForm(instance=entry, initial={'tags': ','.join([tag.name for tag in entry.tags.all()])})
    return render_to_response('entry_modify.html',{'form': form_to_template, 'edit': True},
                              context_instance = RequestContext(request))
コード例 #19
0
ファイル: views.py プロジェクト: grgizem/simple-blog
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('/')
コード例 #20
0
ファイル: views.py プロジェクト: hisoka999/silverbb
def create_entry(request):
    form = EntryForm()
    if (request.method == 'POST'):
        form = EntryForm(data=request.POST)

        if (form.is_valid()):
            entry = form.save(False)

            entry.user = request.user
            entry.save()

            return redirect(reverse('blog.views.blog_post', args=[entry.id]))

    return render_to_response('blog/create_entry.html', {'form': form},
                              context_instance=RequestContext(request))
コード例 #21
0
ファイル: routes.py プロジェクト: artcom-rapa/blog_api
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'))
コード例 #22
0
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"))
コード例 #23
0
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)
コード例 #24
0
ファイル: views.py プロジェクト: waylybaye/solog
def post(request, post_id=None):
    """
    post a new post
    """
    post = get_object_or_404(Post, id=post_id) if post_id else None
    if request.method == 'POST':
        form = EntryForm(request.POST, instance=post)
        if form.is_valid():
            post = form.save(commit=False)
            post.user = request.user
            try:
                post.content_html = format_content(post.content_format, post.content)
                post.save()
                return redirect(post.get_absolute_url())
            except Exception, e:
                messages.error(request, e.message)
コード例 #25
0
ファイル: views.py プロジェクト: dugo/La-Chispa-Adecuada
def edit(request,slug=None):

	entry = None
	
	if slug:
		try:
			entry = Entry.objects.get(slug=slug)
		except Entry.DoesNotExist:
			pass

	c = RequestContext(request)
	c.update(csrf(request))


	if request.method == 'POST':
		form = EntryForm(request.POST,request.FILES)

		if form.is_valid():
			# If editting
			if entry:
				entry.content = form.cleaned_data['content']
				entry.brief = form.cleaned_data['brief']
				entry.public = form.cleaned_data['public']
				entry.title = form.cleaned_data['title']
				entry.created = form.cleaned_data['created']
				if request.FILES.__contains__('image') and request.FILES['image']:
					try:
						entry.image.delete()
					except: pass
					entry.image.save(entry.slug+os.path.splitext( request.FILES['image'].name )[1],ContentFile(request.FILES['image'].read()))
					#handle_uploaded_file(request.FILES['image'],str(entry.image.file))
			# If NOT editting
			else:
				entry = form.save(commit=False)
				entry.author = request.user
				if request.FILES.__contains__('image') and request.FILES['image']:
					entry.image.save(entry.slug+os.path.splitext( request.FILES['image'].name )[1],ContentFile(request.FILES['image'].read()))
			
			entry.save()

			return HttpResponseRedirect(ROOT_URL)
		else:
			return HttpResponse(str(form.errors))
		
	form = EntryForm(instance=entry)
		
	return render_to_response('edit.html', dict(slug=slug,form=form), context_instance=c)
コード例 #26
0
ファイル: views.py プロジェクト: wkatbey/SapphireBlogging
    def post(self, request):
        form = EntryForm(request.POST)

        if form.is_valid():
            entry = form.update()
            url = reverse_lazy('blog:entry-detail', kwargs={
                'pk': entry.id
            })

            return HttpResponseRedirect(url)
   
        
        context = {
            'error_messages': form.error_messages
        }

        return TemplateView(request, self.template_url, context)
コード例 #27
0
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)
コード例 #28
0
ファイル: routes.py プロジェクト: MichalDotPy/blogapp
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)
コード例 #29
0
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)
コード例 #30
0
ファイル: routes.py プロジェクト: martakrusz/Blog_project_1
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)
コード例 #31
0
ファイル: routes.py プロジェクト: ErykKnesz/MyBlog
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)
コード例 #32
0
ファイル: routes.py プロジェクト: trzpilu/Websites_and_Pages
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)
コード例 #33
0
ファイル: views.py プロジェクト: tobyhammond/blogtool
def add_entry(request):

    # Process the submitted form if POST, displaying errors if fields required
    if request.method == 'POST':
        form = EntryForm(request.POST)
        if form.is_valid():
            entry = form.save(commit=False)
            entry.author = request.user
            entry.save()
            return HttpResponseRedirect('/')

    # Display blank entry form normally
    else:
        form = EntryForm()

    context = {
        'form': form
    }

    return render(request, 'blog/add.html', context)
コード例 #34
0
ファイル: views.py プロジェクト: directeur/socnode
def add_entry(request):
    host = 'http://%s' % request.get_host()
    if request.method == 'POST': 
        form =EntryForm(request.POST) 
        if form.is_valid():
            entry = form.save(commit=False)
            entry.subscription = None
            entry.owner = request.user
            entry.author = request.user.username
            entry.subscribers_usernames = [request.user.username]
            # let the author_url blank so it won't be hardcoded in the store and
            # in the template, if author_link is empty, generate a link to his
            # entries
            entry.author_url = ''
            entry.save()
            # invalidate cache
            clear_entries_cache(request.user.username)
            # inform the hub
            post_publish.send(sender=Entry, username=entry.author, host=host)
            if request.is_ajax():
                e = dict(
                    author=request.user.username,
                    author_url = host+'/'+request.user.username,
                    body = entry.body,
                    link = entry.link,
                    linktext = entry.link,
                    key = str(entry.key()),
                    permalink = '/show/'+str(entry.key()),
                    editlink = '/edit/'+str(entry.key()),
                    deletelink = '/delete/'+str(entry.key())
                )
                return json_response(e)
            else:
                return HttpResponseRedirect(reverse('user-entries',
                    kwargs={'username': request.user.username})) 
    else:
        form =EntryForm() 

    return render_to_response('entry_form.html', {
        'form': form
    })
コード例 #35
0
ファイル: routes.py プロジェクト: ErykKnesz/MyBlog
def generate_entry(entry_id):
    fake = Faker()
    form = EntryForm()
    form.title.data = fake.sentence()
    form.body.data = '\n'.join(fake.paragraphs(15))
    try:
        int(entry_id)
        entry = Entry.query.filter_by(id=entry_id).first_or_404()
        if form.validate_on_submit():
            entry.title = form.title.data
            entry.body = form.body.data
    except ValueError:
        if form.validate_on_submit():
            entry = Entry(
                title=form.title.data,
                body=form.body.data,
                is_published=True
                )
    db.session.add(entry)
    db.session.commit()
    return redirect(url_for('homepage'))
コード例 #36
0
ファイル: test_forms.py プロジェクト: tdn1234/unittest
    def test_valid_data(self):
        entry_form = EntryForm({
            'title': self.entry.title,
            'body': 'entry body',
            'author': self.user.id
        })
        self.assertTrue(entry_form.is_valid())

        comment_form = CommentForm({
            'name': 'Test form user',
            'email': '*****@*****.**',
            'body': 'body content',
            'entry': self.entry.id
        }, instance=self.comment)

        self.assertTrue(comment_form.is_valid())
        comment = comment_form.save()
        self.assertEqual(comment.name, 'Test form user')
        self.assertEqual(comment.email, '*****@*****.**')
        self.assertEqual(comment.body, 'body content')
        self.assertEqual(comment.entry.id, self.entry.id)
コード例 #37
0
ファイル: views.py プロジェクト: grgizem/simple-blog
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))
コード例 #38
0
ファイル: views.py プロジェクト: tobyhammond/blogtool
def edit_entry(request, entry_id):

    entry = get_object_or_404(Entry, pk=entry_id)
    if request.method == 'POST':
        form = EntryForm(request.POST, instance=entry)
        if form.is_valid():

            # Change the modified to now before saving
            entry = form.save(commit=False)
            entry.modified = datetime.datetime.now()
            entry.save()
            return HttpResponseRedirect('/')

    # The instance fills the form with values from requested entry
    else:
        form = EntryForm(instance=entry)

    context = {
        'form': form,
        'entry': entry,
    }

    return render(request, 'blog/edit.html', context)
コード例 #39
0
ファイル: views.py プロジェクト: pianojet/fyfitness
def write(request):
    me = Member.objects.get(user=request.user)
    dbmessage = ""
    if request.method == "POST":
        form = EntryForm(request.POST)

        if form.is_valid():
            post_text = form.cleaned_data["text"]

            entry = form.save(commit=False)
            entry.member = me
            entry.save()

            message = "Journal entry saved."
            return render_to_response(
                "public_site/home.html",
                {"message": message, "dbmessage": dbmessage},
                context_instance=RequestContext(request),
            )
    else:
        form = EntryForm()

    return render_to_response("blog/write.html", {"form": form}, context_instance=RequestContext(request))
コード例 #40
0
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)
コード例 #41
0
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)
コード例 #42
0
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)
コード例 #43
0
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)
コード例 #44
0
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)
コード例 #45
0
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)
コード例 #46
0
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)
コード例 #47
0
ファイル: routes.py プロジェクト: pinotest/bloghost
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)
コード例 #48
0
ファイル: views.py プロジェクト: grgizem/simple-blog
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('/')