本文整理汇总了Python中blogengine.models.Post.slug_for_form方法的典型用法代码示例。如果您正苦于以下问题:Python Post.slug_for_form方法的具体用法?Python Post.slug_for_form怎么用?Python Post.slug_for_form使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blogengine.models.Post
的用法示例。
在下文中一共展示了Post.slug_for_form方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post_edit
# 需要导入模块: from blogengine.models import Post [as 别名]
# 或者: from blogengine.models.Post import slug_for_form [as 别名]
def post_edit(request, slug):
if request.user.has_perm('change_post'):
t = loader.get_template('blog/edit_post.html')
from datetime import datetime
form_errors = [] # list to store form error messages
# if the slug is 'NEW-POST', this is a new post
if slug == 'NEW-POST':
post = Post()
post.slug_for_form = "NEW-POST"
post.pub_date = datetime.now()
else:
try:
post = Post.objects.get(slug=slug)
post.slug_for_form = post.slug
except:
post = False
updated = False
# if this is a form post, get the posted values
if request.POST:
post.title = request.POST['post_title']
if post.title == '':
form_errors.append('You must provide a post title')
# get the slug value from the form - if it doesn't
# match the value from the URI, it will need to be changed
post.slug = request.POST['post_slug']
# TODO: check slug doesn't already exist
# create a slug from the post title if there isn't one provided
if post.slug == '':
slug = post.title
slug = slug.replace(' ', '-')
slug = slug.replace('(', '')
slug = slug.replace(')', '')
slug = slug.lower()
# TODO: run this string through a method to replace all but specified character set.
post.slug = slug
date_string = request.POST['post_pub_date']
try:
post.pub_date = datetime.strptime(date_string, '%d/%m/%Y')
except:
form_errors.append('You must provide a valid date in the format dd/mm/yyyy')
post.body = request.POST['post_body']
# TODO - more validation..
if len(form_errors) == 0:
post.save()
post.slug_for_form = post.slug
updated = True
# if the request was made via AJAX - return 1 as a success code
# TODO: handle failures and pass form errors back as JSON
if request.is_ajax():
return HttpResponse('1')
template_vars = {
'slug': slug,
'post' : post,
'updated' : updated,
'form_errors' : form_errors
}
template_vars.update(common_template_vars)
c = RequestContext(request, template_vars)
return HttpResponse(t.render(c))
else:
return HttpResponse('user not authenticated, or does not have permission to edit the post');