0

Всем привет.

Сегодня попытался развернуть Django на хостинге pythonanywhere. Столкнулся с такой проблемой, что Django не может найти мой модуль.

ImportError at /
No module named 'volute'
Request Method: GET
Request URL:    http://balalay12.pythonanywhere.com/
Django Version: 1.6.5
Exception Type: ImportError
Exception Value:    
No module named 'volute'
Exception Location: /home/balalay12/finance/finance/views.py in <module>, line 7
Python Executable:  /usr/local/bin/uwsgi
Python Version: 3.4.1

До этого я делал приложение на локальном, но на хостинге не делал команду для создания приложения (startapp) и просто залил на хостинг с локального компа. Проверил все файлы, вроде как все и должно быть (подключено в settings.py и импортируется во views.py).

Развертываю первый раз да и питоном занимаюсь недавно. Подскажите, пожалуйста, из-за чего такое может быть.

Обновление

Если закомментировать подключение модуля в settings.py, то на странице самого сайта начинает вылазить Unhandled Exception. В логах сервера пишет django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

Обновление

balalay12_pythonanywhere_com_wsgi.py

import os
import sys

# add your project directory to the sys.path
project_home = u'/home/balalay12/finance'
if project_home not in sys.path:
    sys.path.append(project_home)
volute = u'/home/balalay12/finance/finance/volute'
if volute not in sys.path:
    sys.path.append(volute)

# set environment variable to tell django where your settings.py is
os.environ['DJANGO_SETTINGS_MODULE'] = 'finance.settings'

# serve django via WSGI
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Строчку с volute писал уже сам, так что вряд ли правильно.

views.py скидываю только подключение, думаю этого хватит

from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.template import RequestContext
from django.contrib import auth
from volute.models import Many
from volute.models import Category
1
  • @balalay, Если вам дан исчерпывающий ответ, отметьте его как верный (нажмите на галку рядом с выбранным ответом). 21 авг 2014 в 20:04

1 ответ 1

2
  1. Проверьте файлы ещё раз. На странице https://www.pythonanywhere.com/user/..пользователь../webapps/ должно быть хотя бы одно приложение. Через консоль убедитесь, что все Ваши файлы лежат в нужной директории, которая соответствует созданному pythonanywhere приложению.

  2. Проверьте настройки подключения к БД. Они могут отличаться от тех, что создавались локально. Если работаете с SQLite3, то пути лучше прописать полные.

А вообще, информации, которую Вы прилагаете, не достаточно, чтобы установить, в каком месте у Вас возникла проблема.

4
  • Файлы лежат в папке приложения, т.к. я сам в ручную уже все переделывал. Настройки бд вроде бы работают, т.к. таблицы создались. Вчера вечером еще пытался добавить в файле wsgi путь до папки приложения. После всех танцев Django перестал выводить ImportError, но в логах ошибок все еще это пишется. Я и сам не имею опыта при развертыванни Django на хостинге, поэтому и сам не могу понять и сказать в чем проблема :<
    – balalay
    21 авг 2014 в 3:11
  • Повозился с сервисом, получилось такую же почти ошибку воспроизвести, в моем случае неверно определялись пути из settings, тут надо смотреть в живую, как у Вас расположено все. 21 авг 2014 в 13:50
  • Я тоже тут поделал что-то и в Python Path начал отображаться путь '/home/balalay12/finance/finance/volute', до этого не было его там, но модуль все равно не находит. В settings.py модуль подключал по разному и просто 'volute' и 'finance.volute'.
    – balalay
    21 авг 2014 в 14:21
  • В общем вроде заработало. Во view.py переписал пути from finance.volute.models import ... так же поменял драйвер для MySQL с 'django.db.backends.mysql' на 'mysql.connector.django'. Пока с вводом значений не пробовал, но авторизация сработала нормально.
    – balalay
    21 авг 2014 в 14:42

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.