Django - 使用Django学习网站开发 - 无法确定views.py或urls.py中是否存在SyntaxError

时间:2013-03-25 16:03:29

标签: python django django-forms

我正在尝试按照书中的教程 - 使用Django学习网站开发(2008),第5章,第72页

我收到了以下错误http://dpaste.com/1034485/,我无法弄清楚它是否在我的views.py或urls.py文件中。 (P.S Dpaste Link有效期至2013年3月19日)

我发现的类似问题如下:

  1. http://markmail.org/message/w3s6sacserx2mwdi(非常相似,但无法找到答案)

  2. Django - AttributeError => 'set' object has no attribute 'get'(类似情况,但错误不一样。在这个问题中 - 错误实际上是在表单的代码中并设置了文本字段的属性。我删除了它们,现在代码工作正常。但是,我不确定他做了什么以及他编辑了什么代码。

  3. 我的代码如下:

    views.py

    def bookmark_save_page(request):
        if request.method == "POST":
            form = BookmarkSaveForm(request.POST)
            if form.is_valid():
                # Create or get link            
                link, dummy = Link.objects.get_or_create(
                    url=form.cleaned_data['url']
                )
    
                # Create or get bookmark.
                bookmark, created = Bookmark.objects.get_or_create(
                    user = request.user,
                    link=link,
                )
    
                # Update bookmark title
                bookmark.title = form.cleaned_data['title']
                # If the bookmark is being updated, clear old tag list.
                If not created:
                    bookmark.tag_set.clear()
    
                # Create new tag list.
                tag_names = form.cleaned_data['tags'].split()
                for tag_name in tag_names:
                    tag, dummy = Tag.objects.get_or_create(name=tag_name)
                    bookmark.tag_set.add(tag)
                # Save bookmark to database
                bookmark.save()
                return HttpResponseRedirect('/user/%s/' % request.user.username)
            else:
                form = BookmarkSaveForm()
    
            variables = RequestContext(request, {'form' : form })
            return render_to_response('bookmark_save.html', variables)
    

    错误讯息:

    > Environment:
    
    > Request Method: GET
    
    > Django Version: 1.4
    > Python Version: 2.7.3
    
    
    > 5. from bookmarks.views import *
    
    > Exception Type: SyntaxError at /
    > Exception Value: invalid syntax (views.py, line 56)
    

    如果帖子太冗长,请道歉。不确定需要哪些信息。

    注意:views.py的第56行是 If not created:

1 个答案:

答案 0 :(得分:1)

        # If the bookmark is being updated, clear old tag list.
   #    ↓ should be lowercase
        if not created:
            bookmark.tag_set.clear()