如何重定向到django中的上一页?

问题描述:

我是新来的Django如何重定向到django中的上一页?

我工作的一个投票程序,我需要在投票

含义,我想刷新页面不离开之后留在同一页上,并显示成功消息

这里是我的view.py(这里我设置和检查的cookies,以避免重复投票):

@render_to('user/books_list.html') 
def vote(request, object_id): 
voted=request.session.get('has_voted',[]) 
books = Book.objects.get(id=object_id); 

if object_id in voted:   
    return { 
       'object': books, 
       'error_message': "You have already voted.", 
      } 
else: 
    books.votes += 1 
    books.save() 
    request.session['has_voted']=voted+[object_id] 
    return locals() 

这里是我的urls.py:

urlpatterns = patterns('user.views', 

    url(r'^books/$', 'books_list', name="books_list"), 
    url(r'^books/(?P<object_id>\d+)$', 'book_detail', name="book"), 
    url(r'^books/vote/(?P<object_id>\d+)$', 'vote', name="vote"), 
) 

这里是我的模板:

{% if list_participant %} 

{% for book in list_books %} 

{{ book.name }} 

    <a href={% url vote book.id %} >vote</a> 

    {{ book.votes }} 

    {% endfor %} 

{% endif %} 

我现在做它的方式把它重定向我的书/票/ X 我想它重定向到前一页,这是书/

任何想法,请提前

解决

太感谢我所做的是增加在显示书籍的同一视图内进行投票处理,并使用If Post条件来检测何时点击投票按钮

@render_to('user/list_books.html') 
def list_books (request):  
    books_list = Book.objects.all() 

    if request.POST: 
    voted=request.session.get('has_voted',[]) 
    p_id=request.POST['id'] 
    book = Book.objects.get(id=p_id); 
    if p_id in voted:   
     return { 
       'notvoted': book, 
       'error_message': "You have already voted for this book today!", 
       'books_list': books_list 
       } 
    else: 
     book.votes += 1 
     book.save() 

     vote = Vote() 
     vote.book_id = p_id 
     vote.ip = request.META.get('REMOTE_ADDR')  
     vote.save() 

     request.session['has_voted'] = voted+[p_id] 
     request.session.set_expiry(86400)#one day in seconds 
     return { 
       'books_list': books_list, 
       'voted' : 1 , 
       'book' : book 
       } 
else : 
    return {'books_list': books_list}