Форум сайта python.su
В проекте нужно для сообщения установить возможность отметить его как избранное.
Для этого в модели создал BooleanField - note_favorite.
Для этого делаю представление:
def ch_favorite(request, note_id): try: note = Note.objects.get(id = note_id) note.note_favorite = not note.note_favorite note.save() except ObjectDoesNotExist: raise Http404 return redirect('/')
<a href="notes/ch_favorite/{{ note.id }}/"><img src="{%static "star_en.png"%}" width="25px" height="25px" /></a>
Офлайн
Кавычки?
"{%static "star_en.png"%}"
Офлайн
С кавычками я конечно ошибся, но эта часть кода отвечает за вывод статичного файла, а с этим проблемы не было. Исправил, но результат клика на изображение прежний. Мне кажется проблема в самом представлении, потому что redirect() то не срабатывает. Пробовал без обработки исключений - без результата.
Офлайн
Похоже что проблема связана не с BooleanField и не с redirect().
Написал представление для редактирования записи:
def edit_note(request, note_id): return render_to_response('note/edit_note.html', {'note': Note.objects.get(id = note_id), 'username': auth.get_user(request).username}
<a href="/edit/{{ note.id }}/"> {{note.note_title}}</a>
url(r'^edit/(?P<note_id>\d+)/$', 'notes.views.edit_note', name = 'edit_note'),
url(r'^login/$', 'loginsys.views.login', name = 'login'), url(r'^logout/$', 'loginsys.views.logout', name = 'logout'),
<a href="/auth/login/">Войти</a>
url(r'^auth/', include('loginsys.urls')), url(r'^', include('notes.urls')),
Отредактировано Vanekw (Ноя. 24, 2014 17:56:50)
Офлайн
Используй таг url. У тебя проблема с передним слэшем, в шаблоне он есть, а при определении в urls.py слэша нет.
<a href="/edit/{{ note.id }}/"> {{note.note_title}}</a>
<a href="{% url 'edit_note' note_id=note.id %}"> {{note.note_title}}</a>
url(r'^', include('notes.urls')),
url(r'^notes/', include('notes.urls')),
Отредактировано den4ik (Дек. 9, 2014 03:43:48)
Офлайн