现在的位置: 首页 > 综合 > 正文

Django一周学习笔记

2014年06月28日 ⁄ 综合 ⁄ 共 2997字 ⁄ 字号 评论关闭

大概讲讲一周以来学习Django的心得

开始的准备:
1.到官网 http://www.python.org/download/ 下载并且安装好Django 我安装的是1.6版本,怎样安装详见官网的三条指令。

2.创建一个项目: shell下进入你想创建这个项目的目录的路径输入 django-admin.py startproject mysite
这样会在你的当前目录下创建一个目录。mysite

3.配置mysite/mysite/setting.py 中的ROOT_URLCONF,令其urlConf = 'mysite.urls', 这样所有访问的url都会到mysite.urls中去寻找
相应匹配的视图( views )

例子:    当访问 URL /hello/ 时,Django 根据 ROOT_URLCONF 的设置装载 URLconf 。 然后按顺序逐个匹配URLconf里的URLpatterns,直到找到一个匹配的。 当找到这个匹配 的URLpatterns就调用相关联的view函数,并把 HttpRequest 对象作为第一个参数。

Django MVC

Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架。 以下是 Django 中 M、V 和 C 各自的含义:

    M ,数据存取部分,由django数据库层处理
    V ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。
    C ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的Python 函数。 由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),**Django 也被称为 MTV 框架 。
一个视图功能必须返回一个HttpResponse。 一旦做完,Django将完成剩余的转换Python的对象到一个合适的带有HTTP头和body的Web Response,(例如,网页内容).

总结一下:

    1.进来的请求转入/hello/.

    2.Django通过在ROOT_URLCONF配置来决定根URLconf.

    3.Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。

    4.如果找到匹配,将调用相应的视图函数

    5.视图函数返回一个HttpResponse

    6.Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

这里建议大家阅读关于HttpResponse的更多信息。

4. 创建一个app: 在mysite下一级目录创建一个名为books的app: python manage.py startapp books.
在这个目录下创建一个名为templates的文件夹,这个文件夹存放的就是对应于这个app的模板.
ps: 这是1.6与之前版本的区别,1.6版本在setting.py中没有了template_dir这个参数,寻找模板时默认会到app目录下的template文件夹中去找模板,请大家注意.

5.模型安装:在setting.py中找到INSTALLED_APPS,添加books,注意最后要加上逗号

6.在books文件夹下的models.py 中创建你想建立的模型,然后在shell下输入 python manage.py validate验证模型是否有错误,如显示error=0即无错。
然后输入python manage.py syncdb 创建表同步到数据库。

ps: 这里我使用的是sqlite数据库,不能删除表,所以如果你觉得创建的表字段有错误,只能把sqlite.db这个文件删除,再次创建表。或者可以安装一个数据库。

关于模型: http://firehuman.blog.163.com/blog/static/57331120094642817267/ 这里有关于models的所有字段类型

Django为每个表格自动添加了一个 id 主键,你可以自己建立一个自增字段取代,如:V=models.AutoField()
那么V就是一个自增字段.

讲讲关于urls.py这个文件。 这个文件其实放在哪儿,有多少个都可以,只要你在setting.py 中urlConf的配置中把所有要寻找的文件路径加入即可。

在Django中第三章的实例是这样的:
from django.conf.urls.defaults import * (1.6要改成 from django.conf.urls import patterns, url, include)
from mysite.views import hello

urlpatterns = patterns('',
    ('^hello/$', hello),  #这里hello时没有引号的,是因为已经import hello了
)

若然是要引入一个app里面views的函数 有两种写法:

1.from django.conf.urls import patterns, url, include
from leftnet.views import  issue

urlpatterns = patterns('',
    (u'^issue/$', issue), #第一种写法 from leftnet.views import  issue 把issue这个函数引入 那个issue就不用加引号.
)

2.from django.conf.urls import patterns, url, include

urlpatterns = patterns('',
    (u'^issue/$', 'leftnet.views.issue'),  #直接引入 格式: 'appname.views.function'  注意要加引号.
)

下面讲几个概念。

Django Python Shell

$python manage.py shell

进入有Django配置的shell,可以不设置Django环境变量 在启动解释器之前,它告诉Django使用哪个设置文件。

Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。

原理:Django会搜索环境变量DJANGO_SETTINGS_MODULE,它被设置在settings.py中,当运行manage.py中,它会自动加载settings.py

Django MVC

Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架。 以下是 Django 中 M、V 和 C 各自的含义:

    M ,数据存取部分,由django数据库层处理
    V ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。
    C ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的Python 函数。 由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),**Django 也被称为 MTV 框架 。

总结:
1.Django很强大,尤其时模板处理系统,能使用贴近编程语言的语法去控制界面要显示的元素,一个模板能重复使用,值得你花心思去研究通用的模板.

2.models封装得很好,models的属性方法很齐全,而且用起上来也很简单方便。

3.验证表单form也是一个很好用的工具,但由于尚未很了解,所以下次再写。



【上篇】
【下篇】

抱歉!评论已关闭.