错误django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' isn't an available database b

在配置了pythonpath并包含django_mongodb_engine、pymongo和django-toolbox后,仍然遇到'Django.core.exceptions.ImproperlyConfigured'错误。可能与Django版本有关。2014年8月6日的更新指出问题源于使用了Django 1.3版本,而timezone功能在1.4及以上版本可用。解决方案是升级到1.4或更高版本的Django-nonrel。
Traceback (most recent call last):
  File "/Users/nohackcc/Documents/workspace/ARingServer/ARingServer/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 429, in execute_from_command_line
    utility.execute()
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 209, in execute
    translation.activate('en-us')
  File "/Library/Python/2.7/site-packages/django/utils/translation/__init__.py", line 100, in activate
    return _trans.activate(language)
  File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 202, in activate
    _active.value = translation(language)
  File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 185, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 162, in _fetch
    app = import_module(appname)
  File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Library/Python/2.7/site-packages/django/contrib/admin/__init__.py", line 3, in <module>
    from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
  File "/Library/Python/2.7/site-packages/django/contrib/admin/helpers.py", line 3, in <module>
    from django.contrib.admin.util import (flatten_fieldsets, lookup_field,
  File "/Library/Python/2.7/site-packages/django/contrib/admin/util.py", line 1, in <module>
    from django.db import models
  File "/Library/Python/2.7/site-packages/django/db/__init__.py", line 78, in <module>
    connection = connections[DEFAULT_DB_ALIAS]
  File "/Library/Python/2.7/site-packages/django/db/utils.py", line 93, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Library/Python/2.7/site-packages/django/db/utils.py", line 51, in load_backend
    raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' isn't an available database backend. 
Try using django.db.backends.XXX, where XXX is one of:
    'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3'
Error was: cannot import name timezone


明明配置了pythonpath,包含了django_mongo_engine,pymongo,django-toolbox,但还是有问题,尚不清楚,有人说是Django版本问题,继续查


——————————————————————————————————————————————————————————————————

2014.8.6补充

问题原因是django-nonrel版本安装的为django1.3,而timezone是在django1.4以后的版本中才可以使用。

解决办法:下载1.4版本及以上的Django-nonrel版本,当前为1.5版,https://github.com/django-nonrel/django

相关Django+mongo的安装可以参考:http://blog.youkuaiyun.com/nohackcc/article/details/38399291

### 如何用Python开发微信投票系统 #### 开发环境准备 为了构建基于Python的微信投票系统,需先准备好相应的开发环境。这包括安装必要的软件包和配置开发工具。 - 安装 Python 和 pip 工具。 - 使用 `pip` 来安装 Flask 或 Django 框架以及其他依赖库[^1]。 ```bash pip install flask wechatpy ``` 对于更复杂的应用场景,则可以选择Django作为Web框架来搭建服务器端应用,并利用其内置的功能简化数据库交互和其他常见任务处理过程[^2]。 #### 创建Flask应用程序 下面是一个简单例子展示了如何创建一个基本的Flask Web服务用于接收来自前端页面发起HTTP请求并返回响应数据给客户端浏览器显示: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/vote', methods=['POST']) def vote(): data = request.get_json() # 处理接收到的数据... response_data = {"status": "success", "message": "Vote received"} return jsonify(response_data) if __name__ == '__main__': app.run(debug=True) ``` 此段代码定义了一个名为 `/vote` 的API接口,它接受 POST 请求并将传入的信息保存到本地变量中以便后续处理。 #### 集成WeChat API 为了让该系统能够与微信公众平台对接,在完成上述步骤之后还需要引入 WeChat SDK (例如wechatpy),通过它可以方便地调用微信开放平台上提供的各种能力,比如消息推送、菜单管理等功能[^3]。 ```python import time from wechatpy.utils import check_signature from wechatpy.exceptions import InvalidSignatureException from wechatpy.replies import TextReply TOKEN = 'your_token' @app.route('/') def index(): signature = request.args.get('signature') timestamp = request.args.get('timestamp') nonce = request.args.get('nonce') try: check_signature(TOKEN, signature, timestamp, nonce) except InvalidSignatureException: abort(403) echostr = request.args.get('echostr', '') return echostr or 'hello world' ``` 这段脚本实现了对公众号服务器的有效验证机制,确保只有合法的消息才能被传递至后台逻辑层进一步解析执行[^4]。 #### 数据存储方案 考虑到实际应用场景中的需求差异较大,因此建议根据具体情况选择合适的方式来进行持久化操作。可以采用关系型数据库(MySQL/PostgreSQL)或者NoSQL解决方案(MongoDB/Redis)等不同类型的储存介质来满足业务层面的要求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值