我正在尝试按照书中的教程 - 使用Django学习网站开发(2008),第5章,第72页
我收到了以下错误http://dpaste.com/1034485/,我无法弄清楚它是否在我的views.py或urls.py文件中。 (P.S Dpaste Link有效期至2013年3月19日)
我发现的类似问题如下:
http://markmail.org/message/w3s6sacserx2mwdi(非常相似,但无法找到答案)
Django - AttributeError => 'set' object has no attribute 'get'(类似情况,但错误不一样。在这个问题中 - 错误实际上是在表单的代码中并设置了文本字段的属性。我删除了它们,现在代码工作正常。但是,我不确定他做了什么以及他编辑了什么代码。
我的代码如下:
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:
答案 0 :(得分:1)
# If the bookmark is being updated, clear old tag list.
# ↓ should be lowercase
if not created:
bookmark.tag_set.clear()