Я пытаюсь следовать руководству в книге - Изучение разработки сайта с помощью Django (2008), Chapter 5, Page 72Django - Изучение разработки сайта с помощью Django - невозможно определить, является ли SyntaxError в views.py или urls.py
Я получил следующие ошибки http://dpaste.com/1034485/, и я не могу понять, находится ли он в файле views.py или urls.py. (PS Dpaste Ссылка действительна до 19 марта 2013 г.)
Аналогичные проблемы к тому, что я нашел в следующем:
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)
Извинения, если пост слишком многословным. Не уверен, какая информация необходима.
Примечание: Линия 56 из views.py является If not created:
@ user2208012 является то, что строка 56 в вашем views.py файле? Если это так, обратите внимание на то, как ваше исключение сообщило вам, на какую строку смотреть. –
Спасибо! Просматривал всю ночь - не понимал, что мое «если» было неправильным делом. Попробуй это еще раз и будешь держать вас в курсе завтра, если это сработает! – user2208012