`
JavaCrazyer
  • 浏览: 3009013 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

Django开发中DJANGO_SETTINGS_MODULE is undefined解决方案

 
阅读更多

相信大家在学习the django book第四章模板的时候,根据示例代码运行会出现如下这种错

 

具体错误我描述为两种方式形成的错误

一种是进入解释器交互环境中进行编码

F:\VideoTxSpace\mysite>python

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> from django import template

>>> t = template.Template('my name is {{name}}')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "F:\Python27\lib\site-packages\django\template\base.py", line 123, in __init__

    if settings.TEMPLATE_DEBUG and origin is None:

  File "F:\Python27\lib\site-packages\django\utils\functional.py", line 184, in inner

    self._setup()

  File "F:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in _setup

    raise ImportError("Settings cannot be imported, because environment variable %s is undefined." %

 ENVIRONMENT_VARIABLE)

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is und

efined.

 

另一种是直接在文件中编码,通过python命令运行

myiste\mysite目录下有个testTemplate.py,内容如下

from django import template

t = template.Template('my name is {{ name }}.')

c = template.Context({'name':'wujintao'})

 

F:\VideoTxSpace\mysite>python F:\VideoTxSpace\mysite\mysite\testTmpelate.py

Traceback (most recent call last):

  File "F:\VideoTxSpace\mysite\mysite\testTmpelate.py", line 2, in <module>

    t = template.Template('my name is {{ name }}.')

  File "F:\Python27\lib\site-packages\django\template\base.py", line 123, in __init__

    if settings.TEMPLATE_DEBUG and origin is None:

  File "F:\Python27\lib\site-packages\django\utils\functional.py", line 184, in inner

    self._setup()

  File "F:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in _setup

    raise ImportError("Settings cannot be imported, because environment variable %s is undefined." %

 ENVIRONMENT_VARIABLE)

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is und

efined.

 

 

经实践,有三种解决方案

第一种解决方案

进入到mysite目录下,用python manage.py shell启动python解释器环境,manage.py shell命令在启动解释器之前,它告诉Django使用哪个设置文件。 Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。

 

 

执行程序

 

F:\VideoTxSpace\mysite>python manage.py shell

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

(InteractiveConsole)

>>> from django import template

>>> t = template.Template('my name is {{name}}')

>>> c = template.Context({'name':'wujintao'})

>>> print t.render(c)

my name is wujintao

 

 

第二种解决方案

不用通过python manage.py shell开启解释器交互模式,直接在代码开始前中加入如下代码片段

from django.conf import settings

settings.configure()

 

完整代码

from django import template

from django.conf import settings

settings.configure()

t = template.Template('my name is {{ name }}.')

c = template.Context({'name':'wujintao'})

 

执行程序

 

F:\VideoTxSpace\mysite>python F:\VideoTxSpace\mysite\mysite\testTmpelate.py

my name is wujintao.

 

 

第三种解决方案

windows下设置环境变量

新增环境变量如下

添加DJANGO_SETTINGS_MODULE 值为mysite.settings 

添加PYTHONPATH   值为 F:\Python27\DLLs;F:\VideoTxSpace\mysite

 

 

解释

Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在settings.py中。例如,假设mysite在你的Python搜索路径中,那么DJANGO_SETTINGS_MODULE应该被设置为:’mysite.settings’

 

 

 

完整代码

from django import template

t = template.Template('my name is {{ name }}.')

c = template.Context({'name':'wujintao'})

 

执行程序

F:\VideoTxSpace\mysite>python F:\VideoTxSpace\mysite\mysite\testTmpelate.py

my name is wujintao.

 

 

附上我程序的结构图,以方便大家对以上方案的理解


F:\VideoTxSpace\mysite这个mysite为python项目名称


 
  • 大小: 7.1 KB
  • 大小: 7.4 KB
0
1
分享到:
评论

相关推荐

    sun-web.tar.gz_Django_web_django_django blog_python html_python

    1. **Django框架**:Django是Python编程语言中的一款高级Web开发框架,它遵循MTV(Model-Template-View)设计模式,提供了一整套解决方案,包括数据库模型设计、URL路由、视图处理以及模板渲染等功能,帮助开发者...

    django+apache+mod_wsgi完美匹配包

    在Web开发中,Django是一个强大的Python框架,它提供了一整套解决方案,包括数据库管理、模板引擎、表单处理等。Apache是世界上最流行的HTTP服务器软件,它具有高度的可配置性和稳定性。而mod_wsgi则是Apache的一个...

    Django Web开发指南.rar_django_django开发指南_python django_python web_学习

    python web开发 django最好的学习教程 django 推荐书籍

    Django_Step_by_Step

    7. **设置(Settings)**:Django项目的设置文件通常命名为settings.py,这个文件包含了项目的配置信息,比如数据库配置、中间件配置、模板配置等。 8. **应用间的关系和协作**:从3.5节的内容可以看出,Django项目中...

    Python库 | django_models_redis_cache-4.2.2-py3-none-any.whl

    标题中的"Python库 | django_models_redis_cache-4.2.2-py3-none-any.whl"指的是一个Python库,名为`django_models_redis_cache`,版本为4.2.2,适用于Python 3环境。这个库是专门为Django框架设计的,目的是利用...

    PyPI 官网下载 | django_suit_ckeditor_custom-1.0.5-py3-none-any.whl

    使用这个库时,开发者需要在他们的Django项目中进行适当的配置,例如在`settings.py`文件中添加`django_suit_ckeditor_custom`到`INSTALLED_APPS`列表,并根据需要调整CKEditor的设置。 总结来说,`django_suit_...

    django-calendar-master_pythondjango_calendar_django_源码.zip

    【标题】"django-calendar-master_pythondjango_calendar_django_源码" 提供的是一个基于 Django 框架开发的日历应用的源代码。Django 是一个用 Python 编写的高级 Web 开发框架,它鼓励快速开发并遵循“DRY(Don't ...

    PyPI 官网下载 | django_cors_headers_multi-1.2.0-py2-none-any.whl

    标题中的“PyPI 官网下载 | django_cors_headers_multi-1.2.0-py2-none-any.whl”指的是Python Package Index(PyPI)上发布的`django_cors_headers_multi`项目的1.2.0版本,这是一个适用于Python 2且不依赖特定硬件...

    djangotest_djangoweb_django_

    总结,"djangotest_djangoweb_django_" 是一个适合初学者的 Django 实战项目,涵盖了 Web 开发的关键环节,包括模型、视图、模板的交互,数据库操作,URL 路由,以及表单处理等。通过这个项目,你可以逐步了解并掌握...

    Python库 | django_pydantic_settings-0.3.0-py3-none-any.whl

    `django_pydantic_settings` 解决了这个问题,它允许开发者以更类型安全的方式定义和管理Django项目配置。 ### django_pydantic_settings的关键特性 1. **类型安全**: 使用Pydantic模型定义配置,确保所有设置都...

    PyPI 官网下载 | django_cas_dev_server-0.1.2-py2.py3-none-any.whl

    在Python和Django的开发环境中,`django_cas_dev_server`可以帮助开发者快速搭建测试环境,模拟CAS服务器的行为,测试用户的认证流程。这对于需要集成CAS认证的项目尤其有用,因为它允许在没有真实CAS服务器的情况下...

    PyPI 官网下载 | django_ai_kit_auth-0.8.2-py3-none-any.whl

    总结,`django_ai_kit_auth-0.8.2-py3-none-any.whl`是一个与Django框架集成的Python包,专为人工智能应用提供认证和授权解决方案。它简化了Python后端开发,利用了Python在AI领域的强大生态系统,为开发者提供了更...

    Python库 | django_include_by_ajax-0.4.0-py2.py3-none-any.whl

    安装完成后,你需要在Django项目的`settings.py`文件中添加`django_include_by_ajax`到你的`INSTALLED_APPS`列表中。然后,你就可以在视图函数中使用这个库提供的功能,并在前端通过Ajax请求调用这些视图。 总结...

    Python库 | django_chunk_upload_handlers-0.0.1.tar.gz

    为了解决这些问题,django_chunk_upload_handlers提供了一个优雅的解决方案——分块上传。这种技术允许用户将大文件分割成多个小块,逐个上传,确保了上传的可靠性和效率。 django_chunk_upload_handlers的核心功能...

    Python库 | django_models_redis_cache-1.5.5-py3-none-any.whl

    `django_models_redis_cache` 是一个针对Django框架的特定缓存库,专门用于集成Redis作为模型缓存解决方案。这个库的版本1.5.5是为Python 3编译的,支持多平台("none")和任何架构("any"),并以whl格式提供,这是...

    Python库 | django_simple_file_handler-0.1.4.tar.gz

    `django_simple_file_handler` 是一个针对Python的后端开发库,特别设计用于简化Django框架中的文件处理操作。Django是一个广泛使用的开源Web框架,它遵循模型-视图-控制器(MVC)架构模式,以Python语言编写,为...

    Python库 | django_google_cloud_tasks-0.4.2-py3-none-any.whl

    然后,在Django项目的`settings.py`中,将`django_google_cloud_tasks`添加到`INSTALLED_APPS`列表中。接着,配置Google Cloud的相关凭据,通常在`settings.py`中定义环境变量或使用Google Cloud SDK提供的服务帐户...

    Python库 | django_json_api_model-0.0.5-py3-none-any.whl

    在实际开发中,使用`django_json_api_model`可以显著提升开发速度,特别是在处理复杂的JSON API数据交换时。例如,当需要为Django应用创建API接口时,可以快速构建出符合JSON API规范的接口,减少了手动编写序列化和...

    Python库 | django_datatable_view_compat-0.8.7-py3-none-any.whl

    2. **添加到INSTALLED_APPS**:在项目的`settings.py`文件中,将`django_datatable_view_compat`添加到`INSTALLED_APPS`列表中。 3. **创建视图**:在相应的应用目录下创建一个新的视图,导入`DatatableView`类并...

    Python库 | django_ocs_observation_portal-3.5.0-py3-none-any.whl

    在Django项目的`settings.py`文件中,将`django_ocs_observation_portal`添加到`INSTALLED_APPS`列表中,接着运行迁移以创建必要的数据库表: ```bash python manage.py migrate ``` 启动Django服务器,即可开始...

Global site tag (gtag.js) - Google Analytics