无法在 Django 中 运行 manage.py 运行 服务器
Uable to run manage.py runserver in Django
我无法启动 manage.py runserver
。我正在使用 Cassandra 数据库,并且已经导入了所有必需的模块。我正在尝试 运行 非常基本的应用程序。
我在 运行ning python 2.7 windows 10。这是我收到的错误:
C:\Users\Aditya\Desktop\try_cassandra\try_cass>manage.py runserver
C:\Python27\lib\site-packages\django\db\utils.py:238: RemovedInDjango19Warning: In Django 1.9 the TEST_NAME connection setting will be moved to a NAME entry in the TEST setting
self.prepare_test_settings(alias)
C:\Python27\lib\site-packages\django\db\utils.py:238: RemovedInDjango19Warning: In Django 1.9 the TEST_NAME connection setting will be moved to a NAME entry in the TEST setting
self.prepare_test_settings(alias)
Performing system checks...
System check identified no issues (0 silenced).
Unhandled exception in thread started by <function wrapper at 0x0454D030>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 116, in inner_run
self.check_migrations()
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 168, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 19, in __init__
self.loader = MigrationLoader(self.connection)
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 47, in __init__
self.build_graph()
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 182, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "C:\Python27\lib\site-packages\django\db\migrations\recorder.py", line 60, in applied_migrations
return set(tuple(x) for x in self.migration_qs.values_list("app", "name"))
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 162, in __iter__
self._fetch_all()
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 965, in _fetch_all
self._result_cache = list(self.iterator())
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 1220, in iterator
for row in compiler.results_iter():
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 794, in results_iter
results = self.execute_sql(MULTI)
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 829, in execute_sql
sql, params = self.as_sql()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 378, in as_sql
extra_select, order_by, group_by = self.pre_sql_setup()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 48, in pre_sql_setup
self.setup_query()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 39, in setup_query
self.select, self.klass_info, self.annotation_col_map = self.get_select()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 219, in get_select
ret.append((col, self.compile(col, select_format=True), alias))
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 357, in compile
sql, params = node.as_sql(self, self.connection)
File "C:\Python27\lib\site-packages\django\db\models\expressions.py", line 619, in as_sql
return "%s.%s" % (qn(self.alias), qn(self.target.column)), []
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 348, in quote_name_unless_alias
r = self.connection.ops.quote_name(name)
File "C:\Python27\lib\site-packages\django\db\backends\base\operations.py", line 317, in quote_name
raise NotImplementedError('subclasses of BaseDatabaseOperations may require a quote_name() method')
NotImplementedError: subclasses of BaseDatabaseOperations may require a quote_name() method
这里是我在 settings.py
中的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django_cassandra_engine',
'NAME': 'db',
'TEST_NAME': 'test_db',
'HOST': '127.0.0.1',
'OPTIONS': {
'replication': {
'strategy_class': 'SimpleStrategy',
'replication_factor': 1
}
}
}
}
您的错误与 django-cassandra-engine 后端 doesn't implement quote_name
方法有关。这是一种只在 table 或包含不规则字符的字段名称两边加上引号的方法。最简单的解决方法可能是检查所有 table 和字段名称,并确保只有 ASCII 字符而没有其他字符(例如,您使用的是 unicode 字符吗?)。
如果这不起作用,您的其他选择是:
- 在 django-cassandra-engine 中提出问题。该项目看起来很活跃,因此可能不会花很长时间来修复。
- 自己解决问题:克隆并手动安装 django-cassandra-engine,然后在
base/operations.py
中添加 quote_name
的实现。正文需要简单地类似于 return '"%s"' % name
。如果您这样做并且有效,您可以提交拉取请求以获得永久修复。
尝试删除 INSTALLED_APPS 中列出的值为 settings.py
删除 django.contrib.staticfiles 对我有用,或者将 django_cassandra_engine 放在 [= 的顶部20=] 列表
我无法启动 manage.py runserver
。我正在使用 Cassandra 数据库,并且已经导入了所有必需的模块。我正在尝试 运行 非常基本的应用程序。
我在 运行ning python 2.7 windows 10。这是我收到的错误:
C:\Users\Aditya\Desktop\try_cassandra\try_cass>manage.py runserver
C:\Python27\lib\site-packages\django\db\utils.py:238: RemovedInDjango19Warning: In Django 1.9 the TEST_NAME connection setting will be moved to a NAME entry in the TEST setting
self.prepare_test_settings(alias)
C:\Python27\lib\site-packages\django\db\utils.py:238: RemovedInDjango19Warning: In Django 1.9 the TEST_NAME connection setting will be moved to a NAME entry in the TEST setting
self.prepare_test_settings(alias)
Performing system checks...
System check identified no issues (0 silenced).
Unhandled exception in thread started by <function wrapper at 0x0454D030>
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\utils\autoreload.py", line 229, in wrapper
fn(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 116, in inner_run
self.check_migrations()
File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 168, in check_migrations
executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
File "C:\Python27\lib\site-packages\django\db\migrations\executor.py", line 19, in __init__
self.loader = MigrationLoader(self.connection)
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 47, in __init__
self.build_graph()
File "C:\Python27\lib\site-packages\django\db\migrations\loader.py", line 182, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "C:\Python27\lib\site-packages\django\db\migrations\recorder.py", line 60, in applied_migrations
return set(tuple(x) for x in self.migration_qs.values_list("app", "name"))
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 162, in __iter__
self._fetch_all()
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 965, in _fetch_all
self._result_cache = list(self.iterator())
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 1220, in iterator
for row in compiler.results_iter():
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 794, in results_iter
results = self.execute_sql(MULTI)
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 829, in execute_sql
sql, params = self.as_sql()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 378, in as_sql
extra_select, order_by, group_by = self.pre_sql_setup()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 48, in pre_sql_setup
self.setup_query()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 39, in setup_query
self.select, self.klass_info, self.annotation_col_map = self.get_select()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 219, in get_select
ret.append((col, self.compile(col, select_format=True), alias))
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 357, in compile
sql, params = node.as_sql(self, self.connection)
File "C:\Python27\lib\site-packages\django\db\models\expressions.py", line 619, in as_sql
return "%s.%s" % (qn(self.alias), qn(self.target.column)), []
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 348, in quote_name_unless_alias
r = self.connection.ops.quote_name(name)
File "C:\Python27\lib\site-packages\django\db\backends\base\operations.py", line 317, in quote_name
raise NotImplementedError('subclasses of BaseDatabaseOperations may require a quote_name() method')
NotImplementedError: subclasses of BaseDatabaseOperations may require a quote_name() method
这里是我在 settings.py
中的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django_cassandra_engine',
'NAME': 'db',
'TEST_NAME': 'test_db',
'HOST': '127.0.0.1',
'OPTIONS': {
'replication': {
'strategy_class': 'SimpleStrategy',
'replication_factor': 1
}
}
}
}
您的错误与 django-cassandra-engine 后端 doesn't implement quote_name
方法有关。这是一种只在 table 或包含不规则字符的字段名称两边加上引号的方法。最简单的解决方法可能是检查所有 table 和字段名称,并确保只有 ASCII 字符而没有其他字符(例如,您使用的是 unicode 字符吗?)。
如果这不起作用,您的其他选择是:
- 在 django-cassandra-engine 中提出问题。该项目看起来很活跃,因此可能不会花很长时间来修复。
- 自己解决问题:克隆并手动安装 django-cassandra-engine,然后在
base/operations.py
中添加quote_name
的实现。正文需要简单地类似于return '"%s"' % name
。如果您这样做并且有效,您可以提交拉取请求以获得永久修复。
尝试删除 INSTALLED_APPS 中列出的值为 settings.py
删除 django.contrib.staticfiles 对我有用,或者将 django_cassandra_engine 放在 [= 的顶部20=] 列表