That particular syntax works in Django 1.4, did you do an upgrade?

-James
On Jul 13, 2015 11:52 PM, "Vincent" <[email protected]> wrote:

> Hi James,
>
> substance_list is indeed the name of the view. I've now applied
> namespaces, and added quotes around each URL statement, and it works!
> thanks!
>
> What I do not understand is how it could have worked in the past.
>
> Regards,
> Vincent
>
> On Monday, July 13, 2015 at 6:36:00 PM UTC+2, James Schneider wrote:
>>
>> What is the value being given to substance_list in your template context?
>> It looks like it may be empty.
>>
>> Unless 'substance_list' is the actual name of the view? In which case you
>> probably need to add quotes around it in your URL tag:
>>
>> {% url 'substance_list' %}
>>
>> As is it is, the template is reading substance_list as a variable. If it
>> is the name, and not a variable, I would suggest looking into Django URL
>> name spaces, which are much easier to diagnose and maintain, and avoid the
>> missing quote issue since there can never be a variable name containing the
>> : character. For example,
>>
>> {% url 'substance:list' %}
>>
>> Is much less vague than 'substance_list' since the : version wouldn't
>> also work as a variable name, making it easier to figure out that you want
>> the name of a URL and not a variable name.
>>
>> https://docs.djangoproject.com/en/1.8/topics/http/urls/#url-namespaces
>>
>> -James
>> On Jul 13, 2015 7:27 AM, "Vincent" <[email protected]> wrote:
>>
>>> Hi everyone,
>>>
>>> I've started working on an application after some trime, but I can not
>>> get it to run again.
>>>
>>> I've got this error:
>>>
>>>   Reverse for '' with arguments '()' and keyword arguments '{}' not
>>> found. 0 pattern(s) tried: []
>>> Internal Server Error: /substances/
>>> Traceback (most recent call last):
>>>   File "C:\Python27\lib\site-packages\django\core\handlers\base.py",
>>> line 164, in get_response
>>>     response = response.render()
>>>   File "C:\Python27\lib\site-packages\django\template\response.py",
>>> line 158, in render
>>>     self.content = self.rendered_content
>>>   File "C:\Python27\lib\site-packages\django\template\response.py",
>>> line 135, in rendered_content
>>>     content = template.render(context, self._request)
>>>   File
>>> "C:\Python27\lib\site-packages\django\template\backends\django.py",
>>> line 74, in render
>>>     return self.template.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 209
>>> , in render
>>>     return self._render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 201
>>> , in _render
>>>     return self.nodelist.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 903
>>> , in render
>>>     bit = self.render_node(node, context)
>>>   File "C:\Python27\lib\site-packages\django\template\debug.py", line 79
>>> , in render_node
>>>     return node.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\loader_tags.py",
>>> line 135, in render
>>>     return compiled_parent._render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 201
>>> , in _render
>>>     return self.nodelist.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 903
>>> , in render
>>>     bit = self.render_node(node, context)
>>>   File "C:\Python27\lib\site-packages\django\template\debug.py", line 79
>>> , in render_node
>>>     return node.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\defaulttags.py",
>>> line 329, in render
>>>     return nodelist.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\base.py", line 903
>>> , in render
>>>     bit = self.render_node(node, context)
>>>   File "C:\Python27\lib\site-packages\django\template\debug.py", line 79
>>> , in render_node
>>>     return node.render(context)
>>>   File "C:\Python27\lib\site-packages\django\template\defaulttags.py",
>>> line 507, in render
>>>     six.reraise(*exc_info)
>>>   File "C:\Python27\lib\site-packages\django\template\defaulttags.py",
>>> line 493, in render
>>>     url = reverse(view_name, args=args, kwargs=kwargs, current_app=
>>> current_app)
>>>   File "C:\Python27\lib\site-packages\django\core\urlresolvers.py",
>>> line 579, in reverse
>>>     return force_text(iri_to_uri(resolver._reverse_with_prefix(view,
>>> prefix, *args, **kwargs)))
>>>   File "C:\Python27\lib\site-packages\django\core\urlresolvers.py",
>>> line 496, in _reverse_with_prefix
>>>     (lookup_view_s, args, kwargs, len(patterns), patterns))
>>> NoReverseMatch: Reverse for '' with arguments '()' and keyword
>>> arguments '{}' not found. 0 pattern(s) tried: []
>>> [13/Jul/2015 15:32:02]"GET /substances/ HTTP/1.1" 500 185051
>>>
>>> It happens when it encounters the first reverse lookup:
>>>
>>>    <li><a href=" {% url substance_list %} ">Stubstances</a></li>
>>>
>>> I've traced it down to the render method in the URLNode class (in
>>> defaulttags), where
>>>
>>>     view_name = self.view_name.resolve(context)
>>>
>>> returns an empty string.
>>>
>>> I have the following URL configurations
>>>
>>> site urls.py:
>>> urlpatterns = (
>>>     url(r'^$', lambda r : HttpResponseRedirect('substances/')),
>>>     url(r'^norights/', TemplateView.as_view(template_name=
>>> "norights.html"), name="norights"),
>>>     url(r'^substances/',    include('substances.urls')),
>>>     url(r'^suppliers/',     include('suppliers.urls')),
>>>     url(r'^users/',         include('users.urls')),
>>>     url(r'^sources/',       include('sources.urls')),
>>>     url(r'^media/(.*)$', 'django.views.static.serve', {'document_root' :
>>> settings.MEDIA_ROOT}, name="media"),
>>> )
>>>
>>> app urls.py
>>> urlpatterns = (
>>>     url(r'^$', SubstanceListView.as_view(),
>>> name = 'substance_list'),
>>>     url(r'^create$', SubstanceCreateView.as_view(),
>>> name = 'substance_create'),
>>>     url(r'^update/(?P<pk>\d+)$', SubstanceUpdateView.as_view(),
>>> name = 'substance_update'),
>>>     url(r'^detail/(?P<pk>\d+)$', SubstanceDetailView.as_view(),
>>> name = 'substance_detail'),
>>>     url(r'^mutate/(?P<pk>\d+)$', SubstanceMutateView.as_view(),
>>> name = 'substance_mutate'),
>>>     url(r'^delete/(?P<pk>\d+)$', SubstanceDeleteView.as_view(),
>>> name = 'substance_delete'),
>>>
>>>     url(r'^mutate_check_ajax/(?P<pk>\d+)$', mutate_check_ajax,
>>>  name = 'mutate_check_ajax'),
>>>     url(r'^component_check_ajax$', component_check_ajax,
>>>  name = 'component_check_ajax'),
>>>     url(r'^supplier_check_ajax$', supplier_check_ajax,
>>>  name = 'supplier_check_ajax'),
>>>     url(r'^report', substance_report,
>>> name = 'substance_report'),
>>>     url(r'^worksheet/(?P<pk>\d+)$', substance_worksheet,
>>>  name = 'substance_worksheet')
>>> )
>>>
>>> Oddly enough I did not change anything to get the error. Afterwards I
>>> upgraded to Django 1.8.3, but that did not matter.
>>>
>>>
>>>
>>> Thanks,
>>> Vincent
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/django-users.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/django-users/e31cf3d3-ed7a-4fa5-bb96-fb546e66e53d%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-users/e31cf3d3-ed7a-4fa5-bb96-fb546e66e53d%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/bde30363-a061-482d-8226-501097f83d2c%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/bde30363-a061-482d-8226-501097f83d2c%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2Be%2BciXbRLJ%3D3fwqc6X32WLsTrqh%3DQBVwdb_ZbFZ5ar8SUB8HA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to