Erro : NoReverseMatch

28 views
Skip to first unread message

Artur

unread,
Aug 10, 2012, 2:35:26 PM8/10/12
to django...@googlegroups.com
Estou com a seguinte url configurada:

url(r'^relatorio_grafico/(?P<cod_relatorio>\d{2}\-\d{4})/$',
                                'sgm.views.relatorios.graficos', name = 'graficos')

Se eu entrar direto nela, funciona beleza, no entanto ao usar a tag no template:

{% url 'graficos' cod_relatorio="00-0000" %}

ou

{% url 'graficos'  "00-0000" %}

ou substituir o name graficos pelo callback da view, 'sgm.views.relatorios.graficos' não funciona, dá o erro:

NoReverseMatch at /

Reverse for ''graficos'' with arguments '()' and keyword arguments '{'cod_relatorio': u'00-0000'}' not found.

Mudando apenas o modo do erro caso eu coloque cod_relatorio ou diretamente o valor '00-0000', esse '00-0000' é um código padrão de teste que tenho no banco de dados.

Alguém tem uma idéia do motivo do erro?

Muito Obrigado desde já.

Jonatas Oliveira

unread,
Aug 10, 2012, 2:57:34 PM8/10/12
to django...@googlegroups.com
Artur,

Provavelmente o problema é que você está usando aspas no nome da url e não deveria. Tenta usar assim:

{% url graficos cod_relatorio="00-0000" %}

E a segunda versão: {% url graficos "00-0000" %}, não deve funcionar mesmo, pois como você usou ?P<cod_relatorio> na expressão regular, ela só será acessada caso o parametro da url seja nomeado.

Até mais,
Jonatas Oliveira
jonatas....@gmail.com



--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Artur

unread,
Aug 11, 2012, 9:35:23 AM8/11/12
to django...@googlegroups.com
Valeu! era isso mesmo, engraçado, na documentação do django consta com aspas.
Muito obrigado :)

Ademir Francisco da Silva

unread,
Aug 11, 2012, 4:40:37 PM8/11/12
to django...@googlegroups.com
Arthur,

O caso ᅵ o seguinte..., vocᅵ deve ter olhado a versᅵo "dev"( deveria ter
visto a atual versᅵo 1.4 ) do Django pois as aspas somente serᅵo
adotadas na versᅵo 1.5 e serᅵo o padrᅵo entᅵo em breve possivelmente(
caso nᅵo se mantenha a compatibilidade com as versᅵes anteriores ) vocᅵ
terᅵ que alterar o seu cᅵdigo novamente e incluᅵ-las. Porᅵm vocᅵ pode
fazer o seguinte se jᅵ quiser adotar as "" por padrᅵo ...

Simplesmente inclua no inicio de seu template ...,

{% load url from future %}


Agora utiliza-se as aspas atᅵ a versᅵo 1.5 nᅵo sendo necessᅵrio mais
carregar o {% load ... %}. ᅵ isto aᅵ .

Em 11/08/2012 10:35, Artur escreveu:
> Valeu! era isso mesmo, engraᅵado, na documentaᅵᅵo do django consta com
> aspas.
> Muito obrigado :)
>
> Em sexta-feira, 10 de agosto de 2012 15h57min34s UTC-3, Jonatas
> Oliveira escreveu:
>
> Artur,
>
> Provavelmente o problema ᅵ que vocᅵ estᅵ usando aspas no nome da
> url e nᅵo deveria. Tenta usar assim:
>
> {% url graficos cod_relatorio="00-0000" %}
>
> E a segunda versᅵo: {% url graficos "00-0000" %}, nᅵo deve
> funcionar mesmo, pois como vocᅵ usou ?P<cod_relatorio> na
> expressᅵo regular, ela sᅵ serᅵ acessada caso o parametro da url
> seja nomeado.
>
> Atᅵ mais,
> Jonatas Oliveira
> jonatas....@gmail.com <javascript:>
>
>
> Em 10 de agosto de 2012 15:35, Artur <phi...@gmail.com
> <javascript:>> escreveu:
>
> Estou com a seguinte url configurada:
>
> url(r'^relatorio_grafico/(?P<cod_relatorio>\d{2}\-\d{4})/$',
> 'sgm.views.relatorios.graficos', name = 'graficos')
>
> Se eu entrar direto nela, funciona beleza, no entanto ao usar
> a tag no template:
>
> {% url 'graficos' cod_relatorio="00-0000" %}
>
> ou
>
> {% url 'graficos' "00-0000" %}
>
> ou substituir o name graficos pelo callback da view,
> 'sgm.views.relatorios.graficos' nᅵo funciona, dᅵ o erro:
>
>
> NoReverseMatch at /
>
> Reverse for ''graficos'' with arguments '()' and keyword arguments '{'cod_relatorio': u'00-0000'}' not found.
>
> Mudando apenas o modo do erro caso eu coloque cod_relatorio ou diretamente o valor '00-0000', esse '00-0000' ᅵ um cᅵdigo padrᅵo de teste que tenho no banco de dados.
>
> Alguᅵm tem uma idᅵia do motivo do erro?
>
> Muito Obrigado desde jᅵ.
>
>
> --
> Django Brasil em Google Groups
> <http://groups.google.com.br/group/django-brasil
> <http://groups.google.com.br/group/django-brasil>>
> Associe-se ᅵ Python Brasil e suporte nossa comunidade!
> <http://associacao.python.org.br/
> <http://associacao.python.org.br/>>
>
>
> --
> Django Brasil em Google Groups
> <http://groups.google.com.br/group/django-brasil>
> Associe-se ᅵ Python Brasil e suporte nossa comunidade!
> <http://associacao.python.org.br/>


--
Ademir Francisco da Silva
Skype ...: Ademir_Francisco_da_Silva

Ademir Francisco da Silva

unread,
Aug 15, 2012, 12:25:16 AM8/15/12
to django...@googlegroups.com, arturfel...@gmail.com
Artur ..., ( veja abaixo )

Em 14/08/2012 11:47, Artur Felipe Sousa escreveu:
Boa Ademir, me tirou uma dᅵvida antiga.

Agora me diz! Pelo que sei, ao usarᅵ {% ᅵload ᅵurl ᅵfrom ᅵfuture ᅵ%}ᅵᅵeu tenho que incluir em todos osᅵ templates pois tudo que ᅵ carregado pelo load sᅵ existe dentro do mesmo template certo?


Sim esta correto..., nᅵo hᅵ um jeito de estendᅵ-lo ( Nᅵo que eu conheᅵa ). Agora repare que este bloco carrega outras caracterᅵsticas que serᅵo adotadas em breve entᅵo se vocᅵ quiser jᅵ codificar neste novo padrᅵo para daqui a pouco nᅵo ter que modificar seu cᅵdigo eu sugiro deixᅵ-lo como cabeᅵalho em todas as suas "templates", ᅵ o que eu faᅵo.

Existe algum jeito de definir que todas as url serᅵo from future?

Nᅵo..., atᅵ a versᅵo 1.5 do Django quando este comportamento serᅵ o padrᅵo, nᅵo sendo mais necessᅵrio colocar o bloco {% load ... %}, simplesmente deletando-o.


[]s

On Saturday, August 11, 2012 5:40:37 PM UTC-3, Ademir wrote:
Arthur,

O caso ᅵ o seguinte..., vocᅵ deve ter olhado a versᅵo "dev"( deveria ter
visto a atual versᅵo 1.4 ) do Django pois as aspas somente serᅵo
adotadas na versᅵo 1.5 e serᅵo o padrᅵo entᅵo em breve possivelmente(
caso nᅵo se mantenha a compatibilidade com as versᅵes anteriores ) vocᅵ
terᅵ que alterar o seu cᅵdigo novamente e incluᅵ-las. Porᅵm vocᅵ pode
fazer o seguinte se jᅵ quiser adotar as "" por padrᅵo ...

Simplesmente inclua no inicio de seu template ...,

{% ᅵload ᅵurl ᅵfrom ᅵfuture ᅵ%}


Agora utiliza-se as aspas atᅵ a versᅵo 1.5 nᅵo sendo necessᅵrio mais
carregar o {% load ... %}. ᅵ isto aᅵ .

Em 11/08/2012 10:35, Artur escreveu:
> Valeu! era isso mesmo, engraᅵado, na documentaᅵᅵo do django consta com
> aspas.
> Muito obrigado :)
>
> Em sexta-feira, 10 de agosto de 2012 15h57min34s UTC-3, Jonatas
> Oliveira escreveu:
>
> ᅵ ᅵ Artur,
>
> ᅵ ᅵ Provavelmente o problema ᅵ que vocᅵ estᅵ usando aspas no nome da
> ᅵ ᅵ url e nᅵo deveria. Tenta usar assim:
>
> ᅵ ᅵ {% url graficos cod_relatorio="00-0000" %}
>
> ᅵ ᅵ E a segunda versᅵo: {% url graficos "00-0000" %}, nᅵo deve
> ᅵ ᅵ funcionar mesmo, pois como vocᅵ usou ?P<cod_relatorio> na
> ᅵ ᅵ expressᅵo regular, ela sᅵ serᅵ acessada caso o parametro da url
> ᅵ ᅵ seja nomeado.
>
> ᅵ ᅵ Atᅵ mais,
> ᅵ ᅵ Jonatas Oliveira
> ᅵ ᅵ jonatas....@gmail.com <javascript:>
>
>
> ᅵ ᅵ Em 10 de agosto de 2012 15:35, Artur <phi...@gmail.com
> ᅵ ᅵ <javascript:>> escreveu:
>
> ᅵ ᅵ ᅵ ᅵ Estou com a seguinte url configurada:
>
> ᅵ ᅵ ᅵ ᅵ url(r'^relatorio_grafico/(?P<cod_relatorio>\d{2}\-\d{4})/$',
> ᅵ ᅵ ᅵ ᅵ 'sgm.views.relatorios.graficos', name = 'graficos')
>
> ᅵ ᅵ ᅵ ᅵ Se eu entrar direto nela, funciona beleza, no entanto ao usar
> ᅵ ᅵ ᅵ ᅵ a tag no template:
>
> ᅵ ᅵ ᅵ ᅵ {% url 'graficos' cod_relatorio="00-0000" %}
>
> ᅵ ᅵ ᅵ ᅵ ou
>
> ᅵ ᅵ ᅵ ᅵ {% url 'graficos' ᅵ"00-0000" %}
>
> ᅵ ᅵ ᅵ ᅵ ou substituir o name graficos pelo callback da view,
> ᅵ ᅵ ᅵ ᅵ 'sgm.views.relatorios.graficos' nᅵo funciona, dᅵ o erro:
>
>
> ᅵ ᅵ ᅵ ᅵ ᅵ NoReverseMatch at /
>
> ᅵ ᅵ ᅵ ᅵ Reverse for ''graficos'' with arguments '()' and keyword arguments '{'cod_relatorio': u'00-0000'}' not found.
>
> ᅵ ᅵ ᅵ ᅵ Mudando apenas o modo do erro caso eu coloque cod_relatorio ou diretamente o valor '00-0000', esse '00-0000' ᅵ um cᅵdigo padrᅵo de teste que tenho no banco de dados.
>
> ᅵ ᅵ ᅵ ᅵ Alguᅵm tem uma idᅵia do motivo do erro?
>
> ᅵ ᅵ ᅵ ᅵ Muito Obrigado desde jᅵ.
>
>
> ᅵ ᅵ ᅵ ᅵ --
> ᅵ ᅵ ᅵ ᅵ Django Brasil em Google Groups
> ᅵ ᅵ ᅵ ᅵ <http://groups.google.com.br/group/django-brasil
> ᅵ ᅵ ᅵ ᅵ <http://groups.google.com.br/group/django-brasil>>
> ᅵ ᅵ ᅵ ᅵ Associe-se ᅵ Python Brasil e suporte nossa comunidade!
> ᅵ ᅵ ᅵ ᅵ <http://associacao.python.org.br/
> ᅵ ᅵ ᅵ ᅵ <http://associacao.python.org.br/>>
>
>
> --
> Django Brasil em Google Groups
> <http://groups.google.com.br/group/django-brasil>
> Associe-se ᅵ Python Brasil e suporte nossa comunidade!
> <http://associacao.python.org.br/>


--
Ademir Francisco da Silva
Skype ᅵ...: Ademir_Francisco_da_Silva

--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se ᅵ Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>
Reply all
Reply to author
Forward
0 new messages