4.11 loaddata
作用:加载数据到数据库。 语法:django-admin loaddata fixture [fixture ...]
执行loaddata命令,如下图所示。
执行结果如下图所示。
注意 fixture是序列化好的数据文件,文件格式包含json和xml。Django只能从以下3类位置查找fixture:应用程序下的fixtures文件夹。配置文件中FIXTURE_DIRS指定的路径。fixture文件路径。 Loaddata命令可以在压缩文件中查找fixture,Loaddata支持zip、gz和bz2等压缩格式,例如执行以下命令:
django-admin loaddata mydata.json
该命令将会同时查找mydata.json、mydata.json.zip、mydata.json.gz或者mydata.json.bz2,直到找到第一个mydata.json文件。 需要注意的是,不能将相同名字不同类型的fixture文件放在同一路径下,如mydata.json和mydata.xml。
4.12 makemessages
作用:查找整个源代码路径以找出全部翻译字符串并生成一个新的消息文件或者更新已有的消息文件。 语法:django-admin makemessages 在介绍代码示例前,首先修改index.html,增加翻译字符串:
然后在polls emplatespolls文件夹下新建一个脚本文件trans.js,文件内容如下(该脚本没有实际意义,仅用于演示makemessages命令):
示例1:生成中文翻译文件,如下图所示。
示例2:使用domain参数为js脚本生成中文翻译文件。 Domain参数可接受两个值:
django:该参数用于从*.py
、*.html
和*.txt
文件中查找翻译字符串。
djangojs:该参数用于从*.js
文件中查找翻译字符串,当指定djangojs参数时,应保证js文件位于tempaltes文件夹下,否则需要在模板中使用外链引用该脚本文件。
4.13 startproject
作用:创建Django项目。 语法:django-admin startproject name [directory] 命令默认在当前目录创建一个文件夹,文件夹下包含manage.py文件以及工程文件夹,在工程文件夹下包含settings.py文件和其他必要文件。
4.14 startapp
作用:创建Django应用程序。
语法:django-admin startapp name [directory] 可选参数:
--template TEMPLATE
导入外部应用程序模板,TEMPLATE可以是包含模板文件的路径、包含压缩包的路径或者URL。 例如,下面命令会将my_app_template路径下的模板文件复制到myapp应用程序中:
django-admin startapp --template=/Users/jezdez/Code/my_app_template myapp
而下面命令会将GitHub上其他项目的模板复制到myapp应用中:
4.15 runserver
作用:在当前机器上启动一个轻量级的Web服务器,默认服务器端口号是8000。 语法:django-admin runserver [addrport] 示例:
django-admin runserver
django-admin runserver 1.2.3.4:8000
django-admin runserver 7000
django-admin runserver [2001:0db8:1234:5678::9]:7000
4.16 sendtestemail
作用:发送测试邮件以检测邮箱设置是否正确。 语法:django-admin sendtestemail foo@example.com bar@example.com 示例:本例以QQ邮件服务为例讲解如何在Django中发送邮件。首先在settings.py中设置QQ邮件服务:
完成以上配置后执行以下命令测试邮件功能:
python manage.py sendtestemail目标邮箱地址
作用:启动一个Python交互窗口。 语法:
django-admin shell --interface {ipython,bpython,python}
django-admin shell --i {ipython,bpython,python}
默认情况下,Django使用ipython或者bpython启动交互模式,如果同时安装了这两个交互工具,那么在执行shell命令的时候需要指定具体使用哪一个。 可以使用pip安装以上交互工具,例如安装ipython:pip install ipython
示例:输入命令,如下图所示。