One night with Agenda Python Django MTV Django

  • Slides: 45
Download presentation
One night with

One night with

Agenda • • • Python快速入门 Django介绍 MTV的架构 Django应用结构 ORM URL Dispatch和视图 • 模板处理

Agenda • • • Python快速入门 Django介绍 MTV的架构 Django应用结构 ORM URL Dispatch和视图 • 模板处理

流程控制 • IF … ELSE • LOOP – FOR … in [Range] – WHILE

流程控制 • IF … ELSE • LOOP – FOR … in [Range] – WHILE

模块管理 • PYPI – Pip – easyinstall

模块管理 • PYPI – Pip – easyinstall

创建第一个Django的Project django-admin. py startproject [proj name]

创建第一个Django的Project django-admin. py startproject [proj name]

Django的App • 每个App必须被注册到settings. py的 INSTALLED_APP中 • Django有很多自带的APP,提供了许多方便 的功能 – django. contrib. auth, 用户认证 –

Django的App • 每个App必须被注册到settings. py的 INSTALLED_APP中 • Django有很多自带的APP,提供了许多方便 的功能 – django. contrib. auth, 用户认证 – django. contrib. admin, 后台管理应用 – …

Relationship • 外键 – Foreign. Key • 一对一的映射 – One. To. One. Field •

Relationship • 外键 – Foreign. Key • 一对一的映射 – One. To. One. Field • 多对多的映射 – Many. To. Many. Field

Query. Set • Filter/exclude/all 三个API返回的都是一个 Query. Set的对象 • Query. Set可以理解为Model实例的集合 • Lazy Mode •

Query. Set • Filter/exclude/all 三个API返回的都是一个 Query. Set的对象 • Query. Set可以理解为Model实例的集合 • Lazy Mode • Query. Set in Chain Blog. objects. all(). filter(count__lt = 10)

URL匹配 • 支持正则表达式 • 获取URL参数, /blogs/[blog_id] – r’^blogs/(d{10})/$’ • Name group – r’^blogs/(? P<blogid>d{10})/$’

URL匹配 • 支持正则表达式 • 获取URL参数, /blogs/[blog_id] – r’^blogs/(d{10})/$’ • Name group – r’^blogs/(? P<blogid>d{10})/$’

URL与视图的映射 • 无参数的映射 – url(r’^test/$’, get_blog_view) • 带位置参数的映射 – url(r’^(d{4})/$’, get_blog_view) – def get_blog_view(req,

URL与视图的映射 • 无参数的映射 – url(r’^test/$’, get_blog_view) • 带位置参数的映射 – url(r’^(d{4})/$’, get_blog_view) – def get_blog_view(req, bid): … • 关键字参数的映射 – url(r’^(? P<blogid>d{4})/$’, get_blog_view) – def get_blog_view(req, blogid): …

模板上下文 • 视图函数返回一个模板的时候,需要传入 一个上下文(Context) • Context是一个字典,Key表示的是模板中的 变量名字,Value表示渲染完成后实际展示 在Html中内容 def current_datetime(request): now = datetime. now()

模板上下文 • 视图函数返回一个模板的时候,需要传入 一个上下文(Context) • Context是一个字典,Key表示的是模板中的 变量名字,Value表示渲染完成后实际展示 在Html中内容 def current_datetime(request): now = datetime. now() return render_to_response('current_datetime. html', {'current_date': now})

模板继承 • Block … Extend • 减少冗余的Html代码 – CSS,HEADER,FOOTER

模板继承 • Block … Extend • 减少冗余的Html代码 – CSS,HEADER,FOOTER

Django Admin • Django自带的后台管理页面 • 需要在INSTALLED_APP 中安装 `django. contrib. admin` • Admin自动实现了对于Model的CRUD的管理 • 把应用中的Model注册到Admin中,方便管

Django Admin • Django自带的后台管理页面 • 需要在INSTALLED_APP 中安装 `django. contrib. admin` • Admin自动实现了对于Model的CRUD的管理 • 把应用中的Model注册到Admin中,方便管 理,`admin. site. register(Blog)` • 特殊的Admin的用户

THANKS

THANKS