2011-12-05 51 views
0

我需要访问urls.py中的变量值,该变量位于视图上。Django - 如何在urls.py的视图中访问变量的值?

这是视图:

class MyFacetedSearchView(SearchView): 
    __name__ = 'MyFacetedSearchView' 

    def extra_context(self): 
     q_query_string = self.request.META 

     extra = super(MyFacetedSearchView, self).extra_context() 
     extra['request'] = self.request 
     extra['facets'] = self.results.facet_counts() 
     extra['number_results'] = self.results.count() # Adicionado p AL 
     extra['q_query_string'] = q_query_string # Adicionado p AL 
     return extra 

我需要访问该变量(q_query_string)在urls.py.的值这个变量通过url传递,就像这样:

http://127.0.0.1/results/?q=this_is_the_value_that_i_need_to_access_in_urls_py 

有人能给我一个线索吗?

最好的问候,

+0

你是什么意思,访问它在urls.py? –

+0

我想他想根据“q”的值来确定要使用的视图。这似乎倒退了。 – Dave

回答

1

如果你需要从视图访问某些变量没有GET快译通,你可以使用进口:

from project_name.app_name.views import q_query_string 

要小心!在你的示例变量中只有在运行方法之后才能获取它们的值

1

你有这个值:

q_query_string = self.request.GET.get('q') 
+0

我无法对此表示赞同,因为它没有回答他关于“如何访问urls.py中的值”的问题。虽然我会认为你的答案是他应该做的。 urls.py将根据请求的资源分派到某个视图。这是查看作业来处理查询字符串。在urls.py中的 – Dave

+0

是不可能的或非常难看的 – Goin