2012-03-06 12 views
5

Nel mio url conf, ho diversi URL che hanno lo stesso parametro denominato, user_id. È possibile accedere a questo parametro in un middleware, quindi posso genericamente passarlo al contesto_data o nel modello stesso?Accesso al parametro URL denominato in Template o Middleware

URL Esempio conf per illustrare la domanda:

url(r'^b/(?P<user_id>[0-9]+)/edit?$', user.edit.EditUser.as_view(), name='user_edit'), 
url(r'^b/(?P<user_id>[0-9]+)/delete?$', user.delete.DeleteUser.as_view(), name='user_delete') 

risposta

5

Se avete bisogno di questi dati nel modello, basta sovrascrivere il metodo del vostro vista get_context_data:

class MyView(View): 
    def get_context_data(self, **kwargs): 
     context = super(MyView, self).get_context_data(**kwargs) 
     context['user_id'] = self.kwargs.get('user_id') 
     return context 
0

Per le viste a base di classe, il view è già disponibile nel contesto, quindi non è necessario fare nulla sul lato vista. Nel modello, basta fare il seguente:

{{ view.kwargs.user_id }} 

Vedi this risposta