【问题标题】:Django 1.7 URLs MappingDjango 1.7 URL 映射
【发布时间】:2014-11-01 03:39:17
【问题描述】:

关于我的 django 项目中的 url,我遇到了一种对我来说真的没有意义的行为。这不是我的第一个 django 项目,所以我确定这很愚蠢,但我在第 2 天,不管它是什么,我都找不到。

我有一个项目投票。在投票/urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
    url(r'^users/', include('users.urls')),
    url(r'^manage/', include(admin.site.urls)),
)

在项目中,我有一个应用users,我有文件users/urls.py

from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns

from users import services

urlpatterns = patterns(
    url(r'^register/$', services.RegisterUser.as_view()),
)

然而,当我运行服务器并导航到 localhost:8000/users/register/ 时,我收到 404 错误:

Using the URLconf defined in wevote.urls, Django tried these URL patterns, in this order:
^manage/
The current URL, users/register/, didn't match any of these.

由于某种原因,它没有拉入 users.urls,我不知道为什么。我在 INSTALLED_APPS 中有“用户”和“rest_framework”。任何帮助将不胜感激。

附加信息:来自settings.py:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'rest_framework',
    'ujson',

    'analytics',
    'elections',
    'offices',
    'users'
)

还有,项目结构:

投票

  • 分析
  • 选举
  • 办公室
  • 用户
    • urls.py
    • ...
  • 投票
    • settings.py
    • urls.py
    • ...
  • manage.py
  • requirements.txt

【问题讨论】:

  • 文件夹和文件的排列方式
  • 首先,请显示您拥有的目录结构和INSTALLED_APPS 设置。另外,这很愚蠢,但是删除pyc 文件并重新启动服务器有帮助吗?谢谢。
  • 删除 pyc 文件正在重新启动服务器没有帮助。我还添加了 INSTALLED_APPS 部分以及文件夹/文件结构。是否有可能 users 是保留字?我将在另一个应用程序中尝试相同的操作,看看我是否得到相同的行为。
  • 不是保留字问题。我将 users/urls.py 复制到 analytics/urls.py。现在,当我导航到 localhost:8000/analytics/register/ 时,它会搜索:^users/ 和 ^manage/,当我导航到 localhost:8000/users/register/ 时,它会搜索:^analytics/ 和 ^manage/

标签: python django django-urls


【解决方案1】:

我相信您在调用users/urls.py 中的patterns 时缺少前缀(第一个位置参数)。尝试添加它:

from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns

from users import services

urlpatterns = patterns('',
    url(r'^register/$', services.RegisterUser.as_view()),
)

【讨论】:

    猜你喜欢
    • 2016-09-21
    • 2012-01-07
    • 2017-10-02
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    相关资源
    最近更新 更多