Django 使用mezzanine.mobile时出现NoReverseMatch异常

Django 使用mezzanine.mobile时出现NoReverseMatch异常,django,mobile,mezzanine,Django,Mobile,Mezzanine,我对Mezzanine相当陌生,在我的index.html中获得查看移动站点的选项时遇到了一些困难 设置 在settings.py中,我指定了以下内容: INSTALLED_APPS = ( "newsletters", "django.contrib.admin", "django.contrib.auth", "django.contrib.messages", "django.contrib.contenttypes", "django.co

我对
Mezzanine
相当陌生,在我的
index.html
中获得查看移动站点的选项时遇到了一些困难

设置

settings.py
中,我指定了以下内容:

INSTALLED_APPS = (
    "newsletters",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.messages",
    "django.contrib.contenttypes",
    "django.contrib.redirects",
    "django.contrib.sessions",
    "django.contrib.sites",
    "django.contrib.sitemaps",
    "django.contrib.staticfiles",
    "mezzanine.boot",
    "mezzanine.conf",
    "mezzanine.core",
    "mezzanine.generic",
    "mezzanine.pages",
    "mezzanine.blog",
    "mezzanine.forms",
    "mezzanine.accounts",
    "mezzanine.mobile",
)
MIDDLEWARE_CLASSES = (    
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    "mezzanine.core.middleware.UpdateCacheMiddleware",
    "mezzanine.core.request.CurrentRequestMiddleware",
    "mezzanine.core.middleware.RedirectFallbackMiddleware",
    "mezzanine.core.middleware.TemplateForDeviceMiddleware",
    "mezzanine.core.middleware.TemplateForHostMiddleware",
    "mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware",
    "mezzanine.core.middleware.SitePermissionMiddleware",
    "mezzanine.pages.middleware.PageMiddleware",
    "mezzanine.core.middleware.FetchFromCacheMiddleware",
)
在我的
index.html
中:

{% ifinstalled mezzanine.mobile %}
  <span class="separator">|</span>
  <a href="{% url "set_device" "mobile" %}?next={{ request.path }}">{% trans "View Mobile Site" %}</a>
  {% endifinstalled %}
Reverse for 'set_device' with arguments '('mobile',)'
  and keyword arguments '{}' not found.
0 pattern(s) tried: []

你知道我为什么会有这个例外吗

异常意味着django在其URL配置中找不到匹配项

您是否在根
url.py中添加了一些?张贴文件

也许您缺少这样的内容:

url.py

urlpatterns = [
    ...
    url(r'the_app_name/', include('the_app_name.urls')),
    ...
]
因此,您应该在某处有一个名为
set\u device
的url,它接受“mobile”作为参数,类似这样

app_name = 'the_app_name'
urlpatterns = [
    url(r'^my_url/(?P<type>(mobile|...))/$', my_view, name='set_device'),
...
app\u name='the\u app\u name'
URL模式=[
url(r'^my_url/(?P(mobile |…)/$),my_视图,name='set_设备'),
...

我们应该评估它是内置在CMS中还是您自己的?

它应该内置在夹层中。您帮助我意识到我正在使用的夹层版本(4.3.0)不再具有移动选项。谢谢@guillermo chamorro