2013-03-25 1 views
1

Я пытаюсь следовать руководству в книге - Изучение разработки сайта с помощью Django (2008), Chapter 5, Page 72Django - Изучение разработки сайта с помощью Django - невозможно определить, является ли SyntaxError в views.py или urls.py

Я получил следующие ошибки http://dpaste.com/1034485/, и я не могу понять, находится ли он в файле views.py или urls.py. (PS Dpaste Ссылка действительна до 19 марта 2013 г.)

Аналогичные проблемы к тому, что я нашел в следующем:

  1. http://markmail.org/message/w3s6sacserx2mwdi (очень похожи, но не могу найти ответ)

  2. 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:

ответ

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

@ user2208012 является то, что строка 56 в вашем views.py файле? Если это так, обратите внимание на то, как ваше исключение сообщило вам, на какую строку смотреть. –

+0

Спасибо! Просматривал всю ночь - не понимал, что мое «если» было неправильным делом. Попробуй это еще раз и будешь держать вас в курсе завтра, если это сработает! – user2208012

Смежные вопросы