Найти - Пользователи
Полная версия: python 2.5+django+mysql 5.0.051a. syncdb error
Начало » Django » python 2.5+django+mysql 5.0.051a. syncdb error
1 2
Psihonavt
Добрый вечер.

про свои навыки коротко )):
полный новичек в mysql.
полный новичек в джанго.
базовые знания пайтона.

в общем что есть:
винда ХР
пайтон 2.5
джанго 0.96
mysql 5.0

начал изученеи по офф туториалу:
http://www.djangoproject.com/documentation/0.96/tutorial01/#database-setup

на этапе python manage.py syncdb, выбивает ошибку:



E:\Anton\mysite>python manage.py syncdb
Traceback (most recent call last):
File “manage.py”, line 11, in <module>
execute_manager(settings)
File “D:\Python\lib\site-packages\django\core\management.py”, line 1672, in ex
ecute_manager
execute_from_command_line(action_mapping, argv)
File “D:\Python\lib\site-packages\django\core\management.py”, line 1571, in ex
ecute_from_command_line
action_mapping(int(options.verbosity), options.interactive)
File “D:\Python\lib\site-packages\django\core\management.py”, line 486, in syn
cdb
from django.db import connection, transaction, models, get_creation_module
File “D:\Python\lib\site-packages\django\db\__init__.py”, line 11, in <module>

backend = __import__('django.db.backends.%s.base' % settings.DATABASE_ENGINE
, {}, {}, )
File “D:\Python\lib\site-packages\django\db\backends\mysql\base.py”, line 12,
in <module>
raise ImproperlyConfigured, “Error loading MySQLdb module: %s” % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo
dule named MySQLdb

E:\Anton\mysite>python manage.py syncdb
Traceback (most recent call last):
File “manage.py”, line 11, in <module>
execute_manager(settings)
File “D:\Python\lib\site-packages\django\core\management.py”, line 1672, in ex
ecute_manager
execute_from_command_line(action_mapping, argv)
File “D:\Python\lib\site-packages\django\core\management.py”, line 1571, in ex
ecute_from_command_line
action_mapping(int(options.verbosity), options.interactive)
File “D:\Python\lib\site-packages\django\core\management.py”, line 486, in syn
cdb
from django.db import connection, transaction, models, get_creation_module
File “D:\Python\lib\site-packages\django\db\__init__.py”, line 11, in <module>

backend = __import__('django.db.backends.%s.base' % settings.DATABASE_ENGINE
, {}, {}, )
File “D:\Python\lib\site-packages\django\db\backends\mysql\base.py”, line 12,
in <module>
raise ImproperlyConfigured, “Error loading MySQLdb module: %s” % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo
dule named MySQLdb
как я понял из описания ошибки, у меня отсутствует некий модуль MySQLdb.
в settings.py, в движке ДБ указан майсиквел, в имени датабейза - то имя что я использовал при создании БД через майсиквел, все остальные поля пустые. (в конфигурации майсиквела врублен анонимный пользователь).
какие пути решения проблемы?
з.ы. я тут гуглил, нашел только одну страницу, с вопросом как у меня, но причины не как у меня.
dvs
или попробовать
c:\> easy_install MySQL-python
Psihonavt
dvs
спасибо, помогло!
playpauseandstop
Psihonavt
джанго 0.96
мой вам совет, освойте TortoiseSVN и наслаждайтесь изучением Django из транка…
Psihonavt
playpauseandstop
спасибо, пока ограничился освоением SVN, закачал девелопер версию джанго, все вроде работает.
Psihonavt
возник еще вопрос.
дабы не плодить темы, спрошу тут.
из ПО все тоже, разве что джанго обновлен из CVS.

собственно код модели:

from django.db import models
class Videos(models.Model):
name=models.CharField(max_length=1200)
comment=models.CharField(max_length=300)
def __unicode__(self):
return self.name
class Admin:
##pass
fields=('General',{'fields': ('name','comment')})
search_fields=
проблема в том, что список “видео” не представляется полями, как вроде бы должно было быть. при попытке через /админ зайти в любое “видео” - выдает ошибку, к примеру:

AttributeError at /admin/video_lst/videos/314/
'str' object has no attribute ‘get’

если строку с полями убрать/закамментить, то в любой “видео” через /админ можно получить доступ и подправить/изменить. Ну и возникает вопрос, почему не работают поля? возможна ли ошибка при внесении в базу name ?
playpauseandstop
Psihonavt
name=models.CharField(max_length=1200)
comment=models.CharField(max_length=300)
максимальная длина поля VARCHAR в MySQL равна 255 символам… для хранения данных больших размеров используйте models.TextField без указания max_length…
Psihonavt
playpauseandstop, спасибо помогло.

но возникла опять проблема, не бейте меня ногами, за частые вопрос )).
вынужден был переставить mysql, ну и собственно после этого создал новый проект с помощью django-admin startproject …
создал новый апп, все хорошо. прописал код модели, добавил класс “админ”. Ну и собственно, вся проблема в том, что слетел пароль к админке, который был ранее, т.е. просто не пускает. Я не долго думая, проштудировал http://www.djangoproject.com/documentation/authentication , создал юзера admin, сделал его active и superuser, но, все равно не пускает. Проверил содержимое таблицы auth_user БД, отвечающей за мой проект, там все ок, в колонках из_ектив, из_суперюзер - стоят единички,
ну соответственно после этoго делал manage.py syncdb.
Где копать? вроде же от кода модели авторизация никак не зависит. В сеттингз.пай вроде тоже ничего плохого не делал, вот код на всякий случай:
# Django settings for mysite project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
# ('Your Name', ‘your_email@domain.com’),

)

MANAGERS = ADMINS

DATABASE_ENGINE = ‘mysql’ # ‘postgresql_psycopg2’, ‘postgresql’, ‘mysql’, ‘sqlite3’ or ‘ado_mssql’.
DATABASE_NAME = ‘dsites’ # Or path to database file if using sqlite3.
DATABASE_USER = ‘root’ # Not used with sqlite3.
DATABASE_PASSWORD = ‘some_right_pwd’ # Not used with sqlite3.
DATABASE_HOST = ‘' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ’' # Set to empty string for default. Not used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
# although not all variations may be possible on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = ‘America/Chicago’

# Language code for this installation. All choices can be found here:
# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
# http://blogs.law.harvard.edu/tech/stories/storyReader$15
LANGUAGE_CODE = ‘en-us’

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: “/home/media/media.lawrence.com/”
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT.
# Example: "http://media.lawrence.com
MEDIA_URL = ''

# URL prefix for admin media – CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: ”http://foo.com/media/“, ”/media/“.
ADMIN_MEDIA_PREFIX = ‘/media/’

# Make this unique, and don't share it with anybody.
SECRET_KEY = ‘5vip@k!3pl_g%wkc5zk__#8en%oag@h29%3xkgwz*a_wo0myyx’

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
‘django.template.loaders.filesystem.load_template_source’,
‘django.template.loaders.app_directories.load_template_source’,
# ‘django.template.loaders.eggs.load_template_source’,
)

MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.middleware.doc.XViewMiddleware’,
)

ROOT_URLCONF = ‘mysite.urls’

TEMPLATE_DIRS = (
”E:\Anton\web\mytemplates“
# 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’,
# ‘mysite.polls’,
‘mysite.video_lst’,
‘django.contrib.admin’
)
Ferroman
Од кода модели точно не зависит.
Не пускает как именно? Что пишет?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB