Django 学习笔记(一)

网友投稿 277 2022-09-03


Django 学习笔记(一)

//django 报错--1.4

我安装的是1.4版本,看了一下Django的doc就发现问题了。

原来在INSTALLED_APPS中只需要添加app名就可以了,即:

'blog',而不需要'mysite.blog',

//NameError: name 'admin' is not defined 解决问题的方法

//django tag

{%if%}中and or不能同时使用,可以多次使用同一个操作符,没有{%elif%}

给标签增加一个 reversed 使得该列表被反向迭代:

{% for athlete in athlete_list reversed %}

...

{% endfor %}

所以`` for`` 标签支持一个可选的`` {% empty %}`` 分句,通过它我们可以定义当列表

为空时的输出内容 下面的例子与之前那个等价:

{% for athlete in athlete_list %}

{{ athlete.name }}

关于DJANGO_MODULE_SETTING的问题找了下解决方案:

environment variable DJANGO_SETTINGS_MODULE is undefined:

出现这个错误问题的原因正如错误报告所写:无法导入 Settings,DJANGO_SETTINGS_MODULE 环境变量

没有定义。有以下几种解决方法:

1). 最简单的解决办法是在项目或app当前目录下,进入python命令界面时,使用python ​​manager.py​​ shell 代

替 python。这样的环境是根据当前project设置的,因为Django ​​manager.py​​​ 会使用模板加载器自动查找当前目录下的​​settings.py​​ 信息,加载器文件

中包含from django.conf import settings导入所需的django settings配置,就不会出错了:

$ python manage.py shellPython 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2Type "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from django import template>>> t = template.Template('My name is {{ name }}.')>>>

2). 若使用>>> python命令,则通过自己从正确的包中导入settings并手动配置也可以:

>>> from django.conf import settings>>> settings.configure()

即在使用Django的template模板前

先执行 from django.conf import settings 和 settings.configure()。

3). 手动添加当前项目或app的 DJANGO_SETTINGS_MODULE 环境变量.(假设project名称为mysite):

必须先在Linux命令行将项目路径(上一级路径)添加到PYTHONPATH 中: $ export PYTHONPATH="$PYTHONPATH:/path/to/mysite/" 和 $ export PYTHONPATH="$PYTHONPATH:/path/to/"。 在python 命令界面可以使用import sys 和 sys.path.append('/path/to/mysite/')实现,再设置DJANGO_SETTINGS_MODULE 环境变量:这是一个使用Unix Bash Shell的例子:export DJANGO_SETTINGS_MODULE=mysite.settings;这是一个使用Windows命令行的例子:set DJANGO_SETTINGS_MODULE=mysite.settings

环境变量下次系统重启会自动重置,因此可以在配置文件~/.profile中加入上面两句export,在登录时自动设置DJANGO_SETTINGS_MODULE环境变量。在启动django自带调试服务器manage.py runserver时候会自动加载setting 。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django 自验证(django摩托车)
下一篇:Django 学习笔记(三)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~