Django“ImportError at /”

时间:2013-08-05 15:18:30

标签: python django

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

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 templates 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)),

models.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()

views.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,只是试一试,看它是否适用于一个项目。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

在urls.py中 试试这些

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

而不是这些

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

此外,您可以运行python manage.py validate,也许您会看到有用的内容。