簡體   English   中英

從context_processor訪問URL參數

[英]Accessing URL parameter from context_processor

假設我們有以下網址:

urlpatterns = patterns('',
    ...
    url(r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'),
) 

我想創建自己的context_processing,它將根據參數處理動作。 我的問題是,我真的不知道如何訪問參數...

訪問其他GET參數很容易,但是對於嵌入在URL中的那個我還是很困惑。

def year_processor(request):
    # How do i access year from the request object???
    do_some_stuff(year)
    return result

查看request.resolver_match ,它應該具有您所需要的:

request.resolver_match.kwargs["year"]

您可以嘗試django.core.urlresolvers.resolve ,在其中可以找到有關正在處理的url的更多信息(例如url_name ):

from django.core.urlresolvers import resolve

def year_processor(request):
    func, args, kwargs = resolve(request.path)

    if 'year' in kwargs:
        do_some_stuff(kwargs['year'])
    ...

暫無
暫無

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

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