繁体   English   中英

Django Import Error at /没有名为urls的模块

[英]Django Import Error at / No module named urls

我已经更改了网站文件中的URL,现在,该页面不起作用。 这是我得到的错误。 在此处输入图片说明

我在Ubuntu 16.04上的DigitalOcean Droplet上使用Django 1.8.7,并将其托管在Gunicorn上。

这是我的项目网址文件:

from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin

urlpatterns = [
    url(r'^', include('website.urls')),
    url(r'^admin/', include(admin.site.urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这是网站网址文件:

from django.conf import settings
from django.conf.urls import url
from django.conf.urls.static import static

from . import views

urlpatterns = [
                  url(r'^en/$', views.index_en, name='index_en'),
                  url(r'^en/results/$', views.results_en, name="results_en"),
                  url(r'^es/$', views.index_es, name='index_es'),
                  url(r'^es/results/$', views.results_es, name="results_es"),
              ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

我的settings.py,这是我创建Droplet时生成的默认设置,我只更改了语言代码和静态内容目录:

    import os

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    SECRET_KEY = 'itisasecrethahaha'

    DEBUG = True

    ALLOWED_HOSTS = []


    # Application definition

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

    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',
        'django.middleware.security.SecurityMiddleware',
    )

    ROOT_URLCONF = 'django_project.urls'

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]

    WSGI_APPLICATION = 'django_project.wsgi.application'

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

    LANGUAGE_CODE = 'es-es'

    TIME_ZONE = 'UTC'

    USE_I18N = True

    USE_L10N = True

    USE_TZ = True

    STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
    STATIC_URL = '/assets/'

    import os
    import netifaces

   def ip_addresses():
        ip_list = []
        for interface in netifaces.interfaces():
            addrs = netifaces.ifaddresses(interface)
            for x in (netifaces.AF_INET, netifaces.AF_INET6):
                if x in addrs:
                    ip_list.append(addrs[x][0]['addr'])
        return ip_list

    ALLOWED_HOSTS = ip_addresses()

我的项目树: 在此处输入图片说明

追溯:

Environment:


Request Method: GET
Request URL: http://206.189.31.17/

Django Version: 1.8.7
Python Version: 2.7.12
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'website')
Installed Middleware:
('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',
 'django.middleware.security.SecurityMiddleware')


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  119.                 resolver_match = resolver.resolve(request.path_info)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
  365.             for pattern in self.url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
  401.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
  395.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py" in import_module
  37.     __import__(name)
File "/usr/lib/python2.7/dist-packages/gevent/builtins.py" in __import__
  93.             result = _import(*args, **kwargs)

Exception Type: ImportError at /
Exception Value: No module named urls

将此行添加到您的项目urls.py文件中

from website import urls as website_urls

并改变

url(r'^', include('website.urls'))

url(r'^', include('website_urls'))

我已经解决了这个问题,只需在DigitalOcean上重新安装Droplet并重新创建所有内容即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM