《The Django Book》笔记(未完结)

来源:互联网 发布:linux导出log日志文件 编辑:程序博客网 时间:2024/04/28 04:37

第一章 介绍

第二章 入门

  • Python2.7版本,django版本(1, 1, 3, ‘final’, 0),用virtualenv创建虚拟环境。
  • 安装Django时指定版本的命令 pip install -v django==1.7.1
  • 选用高版本Django运行python manage.py runserver命令时可能会出现

You have unapplied migrations; your app may not work properly until they are applied.Run ‘python manage.py migrate’ to apply them.需运行 python manage.py migrate命令。两者文件结构也不一样

  • 运行开发服务器的时候默认本地ip127.0.0.1,8000端口,可自行修改端口,如python manage.py runserver 127.0.0.1:5000

通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。 如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。 0.0.0.0 这个 IP 地址,告诉服务器去侦听任意的网络接口
python manage.py runserver 0.0.0.0:8000 。
通过这种方法可以在宿主机中访问虚拟机中的服务器
例如虚拟机ip为192.168.147.129,在宿主机中可以通过192.168.147.129:8000访问

第三章 视图 URL

  • 页面内容靠view function(视图函数来产生),每个网页的URL则定义在URLconf中

    一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两个条件。 (也有例外,但是我们稍后才会接触到。)

  • 一个问题,在urls.py中一个url绑定的函数为

    (r’^time/plus/(\d{1,2})/$’, hours_ahead),

    hours_ahead函数声明为

    def hours_ahead(request, offset):

    正则表达式中的参数是怎么识别,并传过去的?分组?

  • 若不想在页面显示出错信息可在setting.py中将DEBUG改为FALSE

第四章 模板

(比较头疼。。)

  • 变量({{ person_name }})。模板标签({% if ordered_warranty %} )类似if语句。
  • 刚开始在交互解释器中进行template编码时可以采用,避免环境配置问题

    python manage.py shell

  • 模板渲染:用context传递数据给Template对象。

    无论何时我们都可以像这样使用同一模板源渲染多个context,只进行 一次模板创建然后多次调用render()方法渲染会更为高效:

  • 不同于一般编程语言的地方

    {% if %} 标签不允许在同一个标签中同时使用 and 和 or ,因为逻辑上可能模糊的,系统不支持用圆括号来组合比较操作。 如果你确实需要用到圆括号来组合表达你的逻辑式,考虑将它移到模板之外处理,然后以模板变量的形式传入结果吧。 或者,仅仅用嵌套的{% if %}标签替换吧。

  • 模板加载

    get_template()
    render_to_response()
    locals() 技巧

  • 模板继承 略。。。。

第五章 模型

    -
0 0
原创粉丝点击