Skip to main content
 首页 » 编程设计

python之Django "ImportError at/"

2024年08月28日30开发

我在尝试的一个非常基本的测试站点上遇到导入错误。以下是错误信息:

ImportError at / 
 
No module named tickets 
 
Request Method:     GET 
Request URL:    http://dcdev1.dcevolve.com/ 
Django Version:     1.5.1 
Exception Type:     ImportError 
Exception Value:     
 
No module named tickets 
 
Exception Location:     /usr/lib/python2.6/site-packages/django/utils/importlib.py     in import_module, line 35 
Python Executable:  /usr/bin/python 
Python Version:     2.6.6 
Python Path:     
 
['/home/django/dcdev1', 
 '/usr/lib64/python26.zip', 
 '/usr/lib64/python2.6', 
 '/usr/lib64/python2.6/plat-linux2', 
 '/usr/lib64/python2.6/lib-tk', 
 '/usr/lib64/python2.6/lib-old', 
 '/usr/lib64/python2.6/lib-dynload', 
 '/usr/lib64/python2.6/site-packages', 
 '/usr/lib/python2.6/site-packages'] 
 
Server time:    Mon, 5 Aug 2013 02:58:39 -0500 

我的目录结构是这样的:

-/home/django/dcdev1 
-/home/django/manage.py 
-/home/django/tickets 

dcdev1下有__init__.py __init__.pyc settings.py settings.pyc urls.py urls.pyc wsgi.py wsgi.pyc

门票下面有

__init__.py __init__.pyc models.py models.pyc 模板 tests.py views.py views.pyc

相关settings.py部分:

TEMPLATE_DIRS = ( 
    "tickets/templates", 
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 
 
INSTALLED_APPS = ( 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'tickets', 
    # Uncomment the next line to enable the admin: 
    # 'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 

urls.py:

from django.conf.urls import patterns, include, url 
from tickets.models import ticket_info 
# Uncomment the next two lines to enable the admin: 
# from django.contrib import admin 
# admin.autodiscover() 
 
urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'dcdev1.tickets.views.home', name='home'), 
    # url(r'^dcdev1/', include('dcdev1.foo.urls')), 
 
    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 
 
    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 

模型.py:

from django.db import models 
 
 
class ticket_info(models.Model): 
    from_address = models.CharField(max_length = 30) 
    to_address = models.CharField(max_length = 30) 
    subject_id = models.CharField(max_length = 100) 
    body_text = models.TextField() 
    recv_timestamp = models.DateTimeField() 

View .py

from django.shortcuts import render_to_response 
 
from tickets.models import ticket_info 
 
def home(request): 
    return render_to_response('index.html') 

我正在使用指南 http://net.tutsplus.com/tutorials/python-tutorials/python-from-scratch-creating-a-dynamic-website/

他的目录结构与我的似乎有些不同。我猜后来的 django 版本发生了一些变化。我从未使用过 django,只是尝试看看它是否适用于某个项目。任何帮助将不胜感激。

请您参考如下方法:

在 urls.py 中 试试这些

url(r'^$', 'tickets.views.home', name='home'), 

而不是这些

url(r'^$', 'dcdev1.tickets.views.home', name='home'), 

您也可以运行 python manage.py validate,也许您会看到一些有用的东西。