使用PyCharm开发django程序,发现如果不在命令行而在IDE的django项目中直接运行django程序,发现报错,程序如下:

  1.  
  1. def main():
  2. from people.models import Blog
  3. blog = Blog()
  4. blog.name = 'blog1'
  5. blog.tagline = 'tagline1'
  6. blog.save()
  7.  
  8. if __name__ == '__main__':
  9. main()
  10. print('Done......')

抛出异常如下:

  1. C:\python\python.exe C:/Users/Administrator/PycharmProjects/mydjango/mytest.py
  2. Traceback (most recent call last):
  3. File "C:/Users/Administrator/PycharmProjects/mydjango/mytest.py", line 10, in <module>
  4. main()
  5. File "C:/Users/Administrator/PycharmProjects/mydjango/mytest.py", line 3, in main
  6. from people.models import Blog
  7. File "C:\Users\Administrator\PycharmProjects\mydjango\people\models.py", line 4, in <module>
  8. class Person(models.Model):
  9. File "C:\Users\Administrator\PycharmProjects\mydjango\people\models.py", line 5, in Person
  10. name = models.CharField(max_length=30)
  11. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\db\models\fields\__init__.py", line 1043, in __init__
  12. super(CharField, self).__init__(*args, **kwargs)
  13. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\db\models\fields\__init__.py", line 166, in __init__
  14. self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  15. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\conf\__init__.py", line 53, in __getattr__
  16. self._setup(name)
  17. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\conf\__init__.py", line 39, in _setup
  18. % (desc, ENVIRONMENT_VARIABLE))
  19. 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.
  20.  
  21. Process finished with exit code 1

  1. 经上网查找,增加代码处理如下:
  1. import os
  2. import django
  3.  
  4. os.environ.setdefault('DJANGO_SETTING_MODULE', 'mydjango.settings')
  5. django.setup()
  6. '''
  7. version = django.get_version()
  8. print(version)
  9. version = (int(version[0]), int(version[2:]))
  10. print(version)
  11.  
  12. if version >= (1,7):
  13. django.setup()
  14. '''
  15. def main():
  16. from people.models import Blog
  17. blog = Blog()
  18. blog.name = 'blog1'
  19. blog.tagline = 'tagline1'
  20. blog.save()
  21.  
  22. if __name__ == '__main__':
  23. main()
  24. print('Done......')

运行后发现还是异常,此时是LOGGING_CONFIG没有设置:

  1. C:\python\python.exe C:/Users/Administrator/PycharmProjects/mydjango/mytest.py
  2. Traceback (most recent call last):
  3. File "C:/Users/Administrator/PycharmProjects/mydjango/mytest.py", line 5, in <module>
  4. django.setup()
  5. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\__init__.py", line 22, in setup
  6. configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  7. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\conf\__init__.py", line 53, in __getattr__
  8. self._setup(name)
  9. File "C:\python\lib\site-packages\django-1.10-py3.5.egg\django\conf\__init__.py", line 39, in _setup
  10. % (desc, ENVIRONMENT_VARIABLE))
  11. django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
  12.  
  13. Process finished with exit code 1

经过查找,终于发现将配置添加到pycharm中的python配置中,可以正常运行程序,配置项的key为DJANGO_SETTINGS_MODULE,value为django的项目名称加点号加settings,我的项目名称为mydjango,所以value为mydjango.settings,具体如下图所示:

 
 
 
 

PyCharm 在django程序中单独运行py文件的更多相关文章

  1. django 中单独执行py文件修改用户名

    Python文件代码 import os import django # 在environ字典里设置默认Django环境,'xxxx.settings'指Django项目的配置文件 os.enviro ...

  2. Pycharm 的设置--参数设置(运行.py文件带参数,例如argument)

    程序运行时,如果需要输入参数,如下图中程序代码: 在生成exe后,程序在控制台下运行时格式为: 这种情况在调试程序时,如果只是在Pycharm环境中简单执行“Run”菜单下的“Run”命令,会出现以下 ...

  3. python -m 命令单独运行一个文件,怎么解决单独运行文件报错?

    依旧是续上篇解决为什么项目能运行,单独文件不能运行. 依旧是python3先发下目录结构,依旧是cmd运行,不要弄pycharm开始运行,否则有些错误就发现不了! 项目下面有pac1文件夹,pac1下 ...

  4. 命令行运行py文件报错

    起因 今天用ubuntu 终端运行py文件报了个错,找不到模块? 我切换回pycharm中运行,运行一切正常 解决 在报错模块中,插入绝对路径 import sys sys.path.append(' ...

  5. 『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件

    目录 1.conftest.py文件介绍 2.conftest.py的注意事项 3.conftest.py的使用 4.不同位置conftest.py文件的优先级 5.conftest.py中Fixtu ...

  6. python2中的__init__.py文件的作用

    python2中的__init__.py文件的作用: 1.python的每个模块的包中,都必须有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module. 2.__init_ ...

  7. Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax

    打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...

  8. bat脚本运行py文件失败(一闪而过)

    简单记录下问题及原因,方便回顾. 问题 通过 bat 脚本运行 py 文件时,终端一闪而过,没能成功运行. 查证后发现问题出在编码上: 首先检查下bat文件编码格式(推荐 notepad++ ) 打开 ...

  9. Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

    上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...

随机推荐

  1. 怎么删除桌面右键"打开好桌道壁纸"

    “好桌道”是一款优秀的桌面美化工具,其中的子程序“好桌道壁纸”是其重要的组成部分,但是在卸载其子程序“好桌道壁纸”时,往往会在桌面的鼠标右键中残留下“打开好桌道壁纸”项,下面解密通过修改注册表的方式彻 ...

  2. 集成禅道和svn

    转载:http://www.zentao.net/book/zentaopmshelp/137.html 说明:svn集成功能配置会比较复杂,我们会尽量通过文档来帮助大家配置成功!如果实在配置不成功的 ...

  3. JS 与Flex交互:html中的js 与flex中的actionScript通信

    Flex与JavaScript交互的问题,这里和大家分享一下,主要包括Flex调用JavaScript中的函数和JavaScript调用Flex中的函数两大部分内容. Flex 与JavaScript ...

  4. luigi框架--关于python运行spark程序

    首先,目标是写个python脚本,跑spark程序来统计hdfs中的一些数据.参考了别人的代码,故用了luigi框架. 至于luigi的原理 底层的一些东西Google就好.本文主要就是聚焦快速使用, ...

  5. Python socket – network programming tutorial

    原文:https://www.binarytides.com/python-socket-programming-tutorial/ --------------------------------- ...

  6. JVisualVM简介与内存泄漏实战分析

    JVisualVM简介与内存泄漏实战分析 学习了:https://blog.csdn.net/kl28978113/article/details/53817827

  7. (剑指Offer)面试题41:和为s的连续正数序列

    题目: 输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数).例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1-5,,4-6和7-8. 思路: ...

  8. USD Series: Installation

    Today I would like to talk is Unified Service Desktop. It was published in Dynamics CRM 2013 Spring ...

  9. angularjs中ng-show的使用

    ng-show 指令在表达式为 true 时显示指定的 HTML 元素,否则隐藏指定的 HTML 元素.下面是示例: <!doctype html> <html lang=" ...

  10. cscope无法索引代码树之外的软链接

    http://blog.csdn.net/sudolee/article/details/9052291 背景:为什么非要使用cscope?不用ctags? 尽管ctags可以索引软链接,但是,cta ...