Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

django.urls.exceptions.NoReverseMatch: Reverse for 'cameramodel_add' not found. #523

Open
djjudas21 opened this issue May 5, 2022 · 0 comments

Comments

@djjudas21
Copy link

I've started trying to reimplement a UI with django-material again from scratch. I'm running into an error and I've put quite a lot of time into trying to figure it out, but I can't make progress.

I assume cameramodel_add has the _add suffix automatically added by the ModelViewSet, but somehow the autoloading isn't working?

  • the parent app is camerahub
  • the app which contains an existing models.py is schema
  • the app which contains a skeleton Material project is ui

The schema app used to contain a bunch of views I wrote myself, but I have now deleted everything apart from models.py and the migrations.

# camerahub/urls.py

from django.contrib import admin
from django.urls import include, path
from material.frontend import urls as frontend_urls

urlpatterns = [
    path('', include(frontend_urls)),
    path('', include('schema.urls')),
    path('api/', include('api.urls')),
    path('admin/', admin.site.urls),
    path('accounts/', include('django_registration.backends.activation.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('', include('django_prometheus.urls')),
    path('ratings/', include('star_ratings.urls', namespace='ratings')),
    path('health/', include('health_check.urls')),
]
# ui/urls.py

from unicodedata import name
from django.urls import path, include
from django.views import generic

from . import views


urlpatterns = [
    path('', generic.TemplateView.as_view(template_name="index.html"), name="index"),
    path('cameramodel/', include(views.CameraModelViewSet().urls)),
]
# ui/views.py

from material.frontend.views import ModelViewSet

from schema import models

# class MyModelViewSet(ModelViewSet):
#    model = models.MyModel

class CameraModelViewSet(ModelViewSet):
    model = models.CameraModel

Trying to browse to http://127.0.0.1:8000/ui/cameramodel/ I get

Internal Server Error: /ui/cameramodel/
Traceback (most recent call last):
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 531, in dispatch
    return super(ListModelView, self).dispatch(request, *args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 357, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 315, in get
    context = self.get_context_data()
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 521, in get_context_data
    kwargs['add_url'] = reverse('{}:{}_add'.format(opts.app_label, opts.model_name))
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/urls/base.py", line 86, in reverse
    return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
  File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/urls/resolvers.py", line 698, in _reverse_with_prefix
    raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'cameramodel_add' not found. 'cameramodel_add' is not a valid view function or pattern name.
"GET /ui/cameramodel/ HTTP/1.1" 500 117163

Originally posted by @djjudas21 in #513 (comment)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant