django 运行报错汇总

  记录自己在使用django开发过程中遇到的问题,不间断更新。

(1) 独立运行普通Python脚本调用django中定义的类报错

 报错信息:

  django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

产生原因:

  在django 项目中想要单独运行一个Python脚本,脚本中调用了django项目的模块函数,本以为顺利执行,结果报错。

解决办法:

#!/usr/bin/env python3
# coding: utf-8
import os,django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "superops.settings")
django.setup()


def collectasset():
    from assets.AssetApi import Asset
    obj = Asset()
    info_list = obj.collect_all_minions()
    obj.save_info(info_list)


if __name__ == "__main__":
    collectasset()

  

(2)queryset object has no attribute meta

产生原因:

  获取数据对象时,通过 filter 来获取的,并不是get,如果想使用对象的属性,需要通过get获取。

obj = Asset.object.filter(name='abc')
obj = Asset.object.get(name='abc')
obj = get_object_404(Asset, name='abc')

  

(3)Django 项目启动报错  Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

产生原因:

  启动的端口被占用,更换启动端口,或关闭占用端口的程序。

 

(4)AttributeError: 'dict' object has no attribute '_meta' 或者 TypeError: Object of type 'QuerySet' is not JSON serializable

from django.core import serializers
def index(request):
    data = models.Record.objects.all()
    result = serializers.serialize("json", data)
    return HttpResponse(result)

 

转载于:https://www.cnblogs.com/wang-yc/p/7997885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值