1. django-admin.py startproject mysite
2. python manage.py help
3. python manage.py runserver
4. python 搜索路径为sys.path,运行时可追加目录至sys.path
5. python模板使用:
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
>>> c = template.Context({'name': 'Adrian'})
>>> print t.render(c)
My name is Adrian.
>>> c = template.Context({'name': 'Fred'})
>>> print t.render(c)
My name is Fred.
6. python manage.py shell启动django交互界面
7. 句点查找规则可概括为: 当模板系统在变量名中遇到点时,按照以下顺序尝试进行查找:
字典类型查找 (比如 foo["bar"] )
属性查找 (比如 foo.bar )
方法调用 (比如 foo.bar() )
列表类型索引查找 (比如 foo[bar] )
系统使用找到的第一个有效类型。 这是一种短路逻辑。
8. 要防止句点查找时调用方法,需要设置方法的alters_data属性,如:
def delete(self):
pass
delete.alters_data = True
9. 设置模板文件目录
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),
)
10.
11. 测试数据库连接:
from django.db import connection
>>> cursor = connection.cursor()
12. 如果使用了django的数据库层,那么必须创建app,python manage.py startapp books
13. 验证模型有效性的命令:python manage.py validate
14. python manage.py sqlall:此命令并没有真正生成数据库,而只是把将要生成数据库的sql语句打印出来;
15. python manage.py syncdb: 生成数据库,但并不能将模型的修改或删除同步到数据库;
16. 如果你的母语不是英语,而你不想用它来配置你的浏览器,你可以做一个快速更改来观察Django管理工具
是否被翻译成你想要的语言。 仅需添加`` ‘django.middleware.locale.LocaleMiddleware’`` 到
`` MIDDLEWARE_CLASSES`` 设置中,并确保它在’django.contrib.sessions.middleware.SessionMiddleware’* 之后*
17. 将Models加入到Admin管理中:
在`` books`` 目录下(`` mysite/books`` ),创建一个文件:`` admin.py`` ,然后输入以下代码:
from django.contrib import admin
from mysite.books.models import Publisher, Author, Book
admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)
18. blank=True:设置字段可选
19. 我们应每次都给成功的POST请求做重定向。 这就是web开发的最佳实践。(防止重复提交)
20. 关闭html自动转意:
(1)对于变量 {{data}},使用{{data|safe}}
(2)对于模板,使用
{% autoescape off %}
Hello {{ name }}
{% endautoescape %}