def create(request): if not admin(): return HttpResponseRedirect(users.create_login_url('/blogs')) form = BlogForm(request.POST) form.fields['category'].choices = [('', '请选择')] + [(category.key(), category.name) for category in Category.all()] if form.is_valid(): blog = Blog() blog.title = form.cleaned_data['title'] blog.content = form.cleaned_data['content'] if form.cleaned_data['category']: blog.category = Category.get(form.cleaned_data['category']) elif form.cleaned_data['user_tag']: blog.category = Category.get_or_insert(form.cleaned_data['user_tag'], name=form.cleaned_data['user_tag']) blog.create() return HttpResponseRedirect('/blogs') else: return new(request)
def create(request): if not admin(): return HttpResponseRedirect(users.create_login_url("/blogs")) form = BlogForm(request.POST) form.fields["category"].choices = [("", "请选择")] + [(category.key(), category.name) for category in Category.all()] if form.is_valid(): blog = Blog() blog.title = form.cleaned_data["title"] blog.content = form.cleaned_data["content"] if form.cleaned_data["category"]: blog.category = Category.get(form.cleaned_data["category"]) elif form.cleaned_data["user_tag"]: blog.category = Category.get_or_insert(form.cleaned_data["user_tag"], name=form.cleaned_data["user_tag"]) blog.create() return HttpResponseRedirect("/blogs") else: return new(request)
def update(request, key): if not admin(): return HttpResponseRedirect(users.create_login_url('/blogs')) form = BlogForm(request.POST) form.fields['category'].choices = [('', '请选择')] + [(category.key(), category.name) for category in Category.all()] if form.is_valid(): blog = Blog.get(key) blog_category_db=blog.category blog.title = form.cleaned_data['title'] blog.content = form.cleaned_data['content'] if form.cleaned_data['category']: blog.category = Category.get(form.cleaned_data['category']) elif form.cleaned_data['user_tag']: blog.category = Category.get_or_insert(form.cleaned_data['user_tag'], name=form.cleaned_data['user_tag']) else: blog.category = None blog.put() if blog_category_db and blog_category_db.blog_set.count() == 0: blog_category_db.delete() return HttpResponseRedirect('/blogs') else: return edit(request, key)