简体   繁体   English

可以在Django中运行manage.py runserver

[英]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: 如果那不起作用,您的其他选择是:

  • Raise an issue in django-cassandra-engine . 提出django-cassandra-engine中的问题 The project looks active so it might not take long to get a fix. 该项目看起来很活跃,因此可能不需要很长时间就能得到修复。
  • Fix the issue yourself: clone & manually install django-cassandra-engine, then add an implementation for quote_name in base/operations.py . 自己解决此问题:克隆并手动安装django-cassandra-engine,然后在base/operations.pyquote_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM