我最近在學校項目中安裝了Ubuntu,Apache,Python和Django。儘管如此,我仍然遇到了問題。我跟着這tutorialUbuntu上的Python ImportError:沒有名爲app.urls的模塊
一切工作如圖所示。我得到了默認的「它的工作!」頁。當我開始真正爲項目添加應用程序時,我的問題就出現了。我收到以下錯誤:
[Tue Apr 02 18:20:27 2013] [error] Internal Server Error: /login
[Tue Apr 02 18:20:27 2013] [error] Traceback (most recent call last):
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 92, in get_response
[Tue Apr 02 18:20:27 2013] [error] response = middleware_method(request)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/middleware/common.py", line 69, in process_request
[Tue Apr 02 18:20:27 2013] [error] if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 551, in is_valid_path
[Tue Apr 02 18:20:27 2013] [error] resolve(path, urlconf)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 440, in resolve
[Tue Apr 02 18:20:27 2013] [error] return get_resolver(urlconf).resolve(path)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 319, in resolve
[Tue Apr 02 18:20:27 2013] [error] for pattern in self.url_patterns:
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 347, in url_patterns
[Tue Apr 02 18:20:27 2013] [error] patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 342, in urlconf_module
[Tue Apr 02 18:20:27 2013] [error] self._urlconf_module = import_module(self.urlconf_name)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
[Tue Apr 02 18:20:27 2013] [error] __import__(name)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/pumpit2/pumpitproj/pumpitproj/urls.py", line 20, in <module>
[Tue Apr 02 18:20:27 2013] [error] url(r'^login/', include('pumpitproj.loginhandler.urls')),
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 25, in include
[Tue Apr 02 18:20:27 2013] [error] urlconf_module = import_module(urlconf_module)
[Tue Apr 02 18:20:27 2013] [error] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
[Tue Apr 02 18:20:27 2013] [error] __import__(name)
[Tue Apr 02 18:20:27 2013] [error] ImportError: No module named loginhandler.urls
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] mod_wsgi (pid=18637): Exception occurred processing WSGI script '/srv/pumpit/pumpit2/conf/apache/django.wsgi'.
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] Traceback (most recent call last):
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] response = self.get_response(request)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 178, in get_response
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 217, in handle_uncaught_exception
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return debug.technical_500_response(request, *exc_info)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/views/debug.py", line 69, in technical_500_response
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] html = reporter.get_traceback_html()
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/views/debug.py", line 298, in get_traceback_html
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return t.render(c)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/base.py", line 140, in render
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return self._render(context)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return self.nodelist.render(context)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/base.py", line 830, in render
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] bit = self.render_node(node, context)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/debug.py", line 74, in render_node
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return node.render(context)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/debug.py", line 84, in render
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] output = self.filter_expression.resolve(context)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/base.py", line 606, in resolve
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] new_obj = func(obj, *arg_vals)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/template/defaultfilters.py", line 715, in date
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return format(value, arg)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/dateformat.py", line 312, in format
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return df.format(format_string)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/dateformat.py", line 35, in format
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] pieces.append(force_text(getattr(self, piece)()))
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/dateformat.py", line 216, in r
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return self.format('D, j M Y H:i:s O')
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/dateformat.py", line 35, in format
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] pieces.append(force_text(getattr(self, piece)()))
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/encoding.py", line 99, in force_text
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] s = s.__unicode__()
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/functional.py", line 130, in __text_cast
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return func(*self.__args, **self.__kw)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 71, in ugettext
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return _trans.ugettext(message)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 276, in ugettext
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] return do_translate(message, 'ugettext')
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 258, in do_translate
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] _default = translation(settings.LANGUAGE_CODE)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 172, in translation
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] default_translation = _fetch(settings.LANGUAGE_CODE)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 154, in _fetch
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] app = import_module(appname)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] File "/srv/pumpit/venv/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] __import__(name)
[Tue Apr 02 18:20:27 2013] [error] [client xx.xxx.xxx.xxx] ImportError: No module named loginhandler
我的目錄都設置如下:
+ srv
---+ pumpit
------+ pumpit2
---------+ conf
------------+ apache
---------+ pumpitproj
------------+ loginhandler
------------+ main
------------+ memberplanhandler
------------+ pumpitproj
------------+ site_media
我INSTALLED_APPS和/srv/pumpit/pumpit2/pumpitproj/pumpitproj/settings.py這個樣子的ROOT_URLCONF :
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'pumpitproj.loginhandler',
)
ROOT_URLCONF = 'pumpitproj.urls'
我/srv/pumpit/pumpit2/pumpitproj/pumpitproj/urls.py如下:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
urlpatterns = patterns('',
url(r'^login/', include('pumpitproj.loginhandler.urls')),
)
我/srv/pumpit/pumpit2/pumpitproj/loginhandler/urls.py如下:
from django.conf.urls import patterns, url
from loginhandler import views
urlpatterns = patterns('pumpitproj.loginhandler.views',
url(r'^$', 'index'),
)
我/srv/pumpit/pumpit2/conf/apache/django.wsgi如下:
import os
import sys
root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..',$
sys.path.insert(0, os.path.abspath(os.path.join(root_path, 'venv/lib/python2.7/$
sys.path.insert(0, os.path.abspath(os.path.join(root_path, 'pumpit2')))
sys.path.insert(0, os.path.abspath(os.path.join(root_path, 'pumpit2', 'pumpitpr$
os.environ['DJANGO_SETTINGS_MODULE'] = 'pumpitproj.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我不知道還有什麼可能需要幫助。我相信這是一件簡單的事情,我完全忽略了。
我花了這麼多時間尋找答案。我似乎發現很多其他人有ImportError問題,但我遇到的那些爲別人工作的答案沒有一個適合我。任何幫助,我可以得到將不勝感激。
更新:我結束了剛剛刪除loginhandler文件夾和重新制作應用程序,並解決了問題。我不知道哪裏出了問題。
雖然,我顯然不知道刪除模塊/應用程序的正確方法,因爲當我嘗試創建新模塊時,它聲明具有該名稱的模塊已經存在。我最終不得不將其命名爲別的東西。
我對/ srv/pumpit/pumpit2/pumpitproj/pumpitproj /下的項目有一個urls.py,這就是錯誤來源於的地方,因爲那個引用了loginhandler下的那個。我將ROOT_URLCONF更改爲「urls」,並對其他更改進行了修改。我仍然得到相同的錯誤,除了現在它只聲明「沒有名爲urls的模塊」而不是「沒有名爲loginhandler.urls的模塊」。 – Nelthilta
您試過這一個ROOT_URLCONF ='pumpitproj.urls'? – Jaf
是的,這就是我原來的想法。我不知道發生了什麼,但通過刪除我的應用程序文件夾並重新制作它們,我不再有這個問題。感謝您所有的幫助。 – Nelthilta