.. _django: *************** django *************** 基本命令 ============================= 创建:: django-admin.py startproject kjdjango python manage.py startapp personnels 运行:: python manage.py runserver 查看数据库生成SQL:: python manage.py sql personnels 创建数据库:: python manage.py syncdb 试验sql语句:: python manage.py shell 生成初始化数据 ============================= #. 进入admin操作,插入一些数据 #. 将personnels中的数据内容生成到该app下的fixtures文件夹里:: python manage.py dumpdata personnels > personnels/fixtures/initial_data.json #. 每次python manage.py syncdb都会重新生成这些数据 发布静态文件 ============================= 代码:: ./manage.py collectstatic 技巧 ============================= 要保证table中的columns多于等于model中的fields date和numeric field需要同时设置null=True, blank=True. 字符field可以blank=True,这样默认会保存为"" __name__可以得到class的name extra URLConf优先于url中捕获的参数 view中捕获的参数都是字符类型的,因此default value也最好设为字符型 post之后要HtpResponseRedirect防止重复提交 防报错:kwargs.pop('GET',None) auto escape会影响: === === < < > > ' ' " " & & === === 防止escape {{ data|safe }} {% autoescape off %} 要注意filter arguments不会被自动编码 {{ data|default:"3 < 2" }} 改变数据时使用post,仅仅查询或显示使用get form显示和提交往往可以使用同一个view,这时