【发布时间】:2012-05-03 01:02:41
【问题描述】:
制作博客、数据库等。事情是,我有一个名为“posts”的数据库。
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'posts', # Or path to database file if using sqlite3.
'USER': '*******', # Not used with sqlite3.
'PASSWORD': '*******', # Not used with sqlite3.
'HOST': '/Applications/MAMP/tmp/mysql/mysql.sock', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '****', # Set to empty string for default. Not used with sqlite3.
}
models.py
from django.db import models
class posts(models.Model):
author = models.CharField(max_length = 30)
title = models.CharField(max_length = 100)
bodytext = models.TextField()
timestamp = models.DateTimeField()
views.py
from django.shortcuts import render_to_response
from models import posts
#from settings import default
def index(request):
entries = posts.objects.all()[:10]
return render_to_response('homepage/index.html', {'posts' : entries}
输出
OperationalError at /
(1049, "Unknown database 'posts.homepage_posts'")
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.4
Exception Type: OperationalError
Exception Value:
(1049, "Unknown database 'posts.homepage_posts'")
Exception Location: /Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg/MySQLdb/connections.py in __init__, line 187
Python Executable: /usr/bin/python
Python Version: 2.7.1
Python Path:
['/Users/thor/Sites/FirstBlog',
'/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
'/Library/Python/2.7/site-packages']
Server time: Wed, 2 May 2012 19:56:53 -0500
它会自动为数据库名称添加.homepage_posts 后缀,使其无法访问。请帮忙?
【问题讨论】:
-
你做过
./manage.py syncdb,成功了吗?要尝试的另一件事是直接查看表格(./manage.py dbshell然后SHOW TABLES)看看发生了什么。 -
我认为问题不在于它正在访问
posts.homepage_posts——这是一种有效的 database.table_name 格式。 MySQL 只是告诉您其中的帖子部分无效,因为数据库不存在。所以,是的,确保你已经运行了./manage.py syncdb。
标签: python mysql database django