• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在django项目中,如何单独运行某个python文件

    有时候,我们可能想在django中写一些代码来测试某些功能,我们希望在django项目中单独运行某个python文件来做这项测试工作。

    但是如果直接执行命令python xxx.py来运行django项目中的python文件会报错

    在运行该文件之前应该先加载django的配置

    import sys
    import os
    import django
    # 这两行很重要,用来寻找项目根目录,os.path.dirname要写多少个根据要运行的python文件到根目录的层数决定
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    sys.path.append(BASE_DIR)
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings')
    django.setup()
    from app.models import Person
    if __name__ == "__main__":
        all =Person.objects.all().values()
        print(all)
    

    补充:python文件运行报错_在django项目中,单独运行python文件

    如果python文件涉及到数据库之类的代码,单独运行python文件会报错

    django.core.exceptions.ImproperlyConfigured:

    Requested setting MEDIA_ROOT, but settings are not configured.

    You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

    方法一:

    需要在manage.py shell中运行python文件。

    1.进入shell

    打开django的terminal,并输入python manage.py shell

    2.运行python文件

    %run 文件路径

    e.g.

    %run ./spider/spider_selenium/spider_main_selenium.py

    方法二:

    在程序入口处加上:

    # import sys; 这两行可以不加,除非auto_sale_spider文件在别的地方# sys.path.append('../../') # NoQA import os;
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "auto_sale_spider.settings") # "auto_sale_spider.settings"改为setting文件位置
    import django;
    django.setup() # NoQA
    

    注意一定要加在python文件的最顶上,至少也要在from models import * 上面

    为了保险起见,还是应该加到最上面

    e.g.

    # coding=utf-8
    import os;
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "auto_sale_spider.settings") # NoQA
    import django;
    django.setup() # NoQA
    from spider.models import *
    import sys
    from html_downloader_selenium import HtmlDownloader
    from html_parser_selenium import HtmlParser
    import logging
    from spider.controller import *
    reload(sys)
    sys.setdefaultencoding('utf-8')
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • 教你用Python3+mysql8.0搭建Django框架
    • Python Django框架介绍之模板标签及模板的继承
    • 利用Python Django实现简单博客系统
    • Python Django搭建文件下载服务器的实现
    • python之Django自动化资产扫描的实现
    • python利用xpath爬取网上数据并存储到django模型中
    • Python项目实战之使用Django框架实现支付宝付款功能
    • python之django路由和视图案例教程
    上一篇:python基础之Socket套接字详解
    下一篇:python机器学习之神经网络
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    在django项目中,如何单独运行某个python文件 在,django,项,目中,如何,单独,