2013-04-03 64 views
1

我最近在學校項目中安裝了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文件夾和重新制作應用程序,並解決了問題。我不知道哪裏出了問題。

雖然,我顯然不知道刪除模塊/應用程序的正確方法,因爲當我嘗試創建新模塊時,它聲明具有該名稱的模塊已經存在。我最終不得不將其命名爲別的東西。

回答

0

在安裝的應用程序中正確添加您的應用程序名稱,在這裏添加'pumpitproj.loginhandler',請將其更改爲'loginhandler'並正確設置您的ROOT_URLCONF。

如果您的應用程序之外創建urls.py然後設置

ROOT_URLCONF = 'urls' 

如果你在一個模塊內loginhandler創建urls.py然後設置

ROOT_URLCONF = 'loginhandler.urls' 

也改變

url(r'^login/', include('pumpitproj.loginhandler.urls')) 

url(r'^login/', include('loginhandler.urls')) 

My/srv/pumpit/pumpit2/pumpitproj/loginhandler/urls。py如下:

from django.conf.urls import patterns, url 
from loginhandler import views 

urlpatterns = patterns('loginhandler.views', 
    url(r'^$', 'index'), 
) 

嘗試此更改。

+0

我對/ srv/pumpit/pumpit2/pumpitproj/pumpitproj /下的項目有一個urls.py,這就是錯誤來源於的地方,因爲那個引用了loginhandler下的那個。我將ROOT_URLCONF更改爲「urls」,並對其他更改進行了修改。我仍然得到相同的錯誤,除了現在它只聲明「沒有名爲urls的模塊」而不是「沒有名爲loginhandler.urls的模塊」。 – Nelthilta

+0

您試過這一個ROOT_URLCONF ='pumpitproj.urls'? – Jaf

+0

是的,這就是我原來的想法。我不知道發生了什麼,但通過刪除我的應用程序文件夾並重新制作它們,我不再有這個問題。感謝您所有的幫助。 – Nelthilta

相關問題