2013-08-05 2 views
2

Я получаю ошибку импорта на очень базовом тестовом сайте, который я пытаюсь. Ниже приводится сообщение об ошибке:Django "ImportError at /"

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__.pycsettings.pysettings.pycurls.pyurls.pycwsgi.pywsgi.pyc

Под билетах имеются

__init__.py__init__.pycmodels.pymodels.pyctemplatestests.pyviews.pyviews.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, просто попробовал посмотреть, будет ли он работать для проекта. Любая помощь приветствуется.

+0

что такое корневой каталог? Я предполагаю, что вам, возможно, придется указывать 'django.tickets' в' INSTALLED_APPS' – karthikr

+0

. При попытке запустить сервер после изменения на django.tickets я получаю «ошибка импорта без модуля с билетами». – cashman04

+0

Не относится к вопросу, но комментарий 'TEMPLATE_DIRS' четко говорит вам не использовать относительные пути, вы используете относительный путь. – Wessie

ответ

3

В urls.py попробовать эти

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

вместо этих

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

Также вы можете запустить python manage.py validate и, возможно, вы увидите что-то полезное.