簡體   English   中英

如何訪問和修改Django模板上下文變量

[英]How to access & modify Django template context variables

在我的urls.py中,我將url account / login /映射到登錄模塊,並引用了要使用的模板:

url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'templates/login.html'})

這可以正常工作,但是我想更改next屬性的值,該屬性指定在成功登錄后應將用戶重定向到的位置。 如何訪問這些變量並打印它們的值,更重要的是,如何修改它們?

謝謝!

將網址定向到視圖:

(r'^accounts/login/', 'myproj.login.views.mylogin')

然后在您的視圖代碼中處理重定向:

def mylogin(request, **kwargs):
    if request.user.is_authenticated():
        if 'next_url' in request.session:
            url = request.session['next_url']
            del request.session['next_url']  # Cleaning next_url val
            return HttpResponseRedirect('/%s' % url)
        else:
            return HttpResponseRedirect('/')
    return login(request, **kwargs)

@csrf_protect
def login(request, template_name='registration/login.html'):
    """Displays the login form and handles the login action."""
    retval = django.contrib.auth.views.login(request, template_name)
    clear_session_data(request.session)
    return retval

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM