当前位置: 首页>>代码示例>>Python>>正文


Python Post.slug_for_form方法代码示例

本文整理汇总了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');
开发者ID:rickhurst,项目名称:Django-non-rel-blog,代码行数:83,代码来源:views.py


注:本文中的blogengine.models.Post.slug_for_form方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。