[英]Uable to run manage.py runserver in Django
I am not able to start manage.py runserver
. 我无法启动
manage.py runserver
。 I am using a Cassandra database and I have imported all the required modules. 我正在使用Cassandra数据库,并且已经导入了所有必需的模块。 I am trying to run quite basic application.
我正在尝试运行非常基本的应用程序。
I am running python 2.7 on windows 10. Here is the error I am getting: 我在Windows 10上运行python 2.7。这是我得到的错误:
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
And here are my database settings in settings.py
: 这是我在
settings.py
数据库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
}
}
}
}
Try removing values listed in INSTALLED_APPS is settings.py 尝试删除INSTALLED_APPS中列出的值是settings.py
Removing django.contrib.staticfiles did the trick for me or place django_cassandra_engine at the top of the INSTALLED_APPS list 删除django.contrib.staticfiles对我有用 ,也可以将django_cassandra_engine放在INSTALLED_APPS列表的顶部
Your error has to do with the fact that django-cassandra-engine backend doesn't implement the quote_name
method. 您的错误与django-cassandra-engine后端未实现
quote_name
方法有关。 This is a method that just puts quotation marks around a table or field name when they contain irregular characters. 这是一种在表或字段名称包含不规则字符时将引号引起来的方法。 The easiest fix is probably to go through all your table and field names and make sure there are only ASCII characters and nothing else (are you using unicode characters for instance?).
最简单的解决方法可能是遍历所有表和字段名称,并确保只有ASCII字符,而没有其他(例如,您是否使用Unicode字符?)。
If that doesn't work your other options are: 如果那不起作用,您的其他选择是:
quote_name
in base/operations.py
. base/operations.py
为quote_name
添加一个实现。 The body needs to simply be something like return '"%s"' % name
. return '"%s"' % name
。 If you do and it works, you can submit a pull request to get a permanent fix.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.