【发布时间】:2012-05-11 12:08:18
【问题描述】:
我正在阅读《Django 1.0 网站开发》一书,您可以在其中构建一个小型社交书签应用程序。我在第 5 章中创建了一个表单来添加书签,尽管我已经按照说明进行操作,并且几天来一直在努力解决这个错误。我得到了错误:
AttributeError at /save/
'set' object has no attribute 'get'
模板 {{ form.as_p }}
的第 6 行抛出错误views.py 代码为:
def bookmark_save_page(request):
if request.method == 'POST':
form = BookmarkSaveForm(request)
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
)
# if bookmark is being updated, clear the 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()
# 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)
而模板代码是:
{% extends "base.html" %}
{% block title %}Save Bookmark{% endblock %}
{% block head %}Save Bookmark{% endblock %}
{% block content %}
<form method="post" action=".">{% csrf_token %}
**{{ form.as_p }}**
<input type="submit" value="save" />
</form>
{% endblock %}
任何帮助都将不胜感激,因为我被困在书中的这一点上,似乎找不到答案。谢谢!
【问题讨论】:
-
@IgnacioVazquez-Abrams:“追溯或者它没有发生”,哈哈
标签: django attributes django-forms django-templates