Django入门学习笔记(一) 单个model的保存
2010-09-24 22:49
567 查看
仅仅是一个笔记。。。
这篇文章主要是单个model的保存,即将单个实体信息插入数据
包括应用的创建,模型的创建,保存模型的写法,测试方法
参考文档当然是经典的The Django Book (http://djangobook.py3k.cn/)(10/10/28注:前面的链接暂时已经不能访问,请参见官方文档 http://docs.djangoproject.com/en/1.2/),建议使用firefox浏览,因为我在同事的机器上用360什么的浏览器浏览发现会有一些奇怪的问题。
Django安装什么的直接略去,有时间再补上
新建一个项目:
诸如我们是要在目录下开始干活建项目E:\simon\project\django
启动命令行提示窗口,直接去这个目录E:\simon\project\django>c:\Python25\Lib\site-packages\django\bin\django-admin.py startproject firstproject
我们创建了一个firstproject这样的django工程
当然你可能已经发现我已经将python的安装路径(c:\python25)已经加到系统环境变量PATH中.
在E:\simon\project\django路径下发现多了firstproject这个目录,结构如下:
E:\simon\project\django>tree firstproject /a /F
E:\SIMON\PROJECT\DJANGO\FIRSTPROJECT
manage.py
settings.py
urls.py
__init__.py
没有子文件夹
简单的介绍下相关文件,其实从其名字上可以看出个大概:settings.py文件中包含了这个工程的配置信息,你可以配置这个工程的数据库配置信息,你这个工程所包含的应用(app)(app是一个小于工程的概念,也就是一个工程可能或包含很多app,关于更详细更专业的解释在这里http://djangobook.py3k.cn/chapter05/ “你的第一个应用程序” 这一段落的开头有解释 )信息等等;manage.py包含了很多管理你这个工程的动作,诸如你新增了一个(或一些)数据模型(model),那么你可以manage.py syncdb这样来同步到数据库;urls.py简单点说,里面写上了url跟你的应用的匹配。
好吧,我们现在就开始在settings.py中写上关于该工程的数据库的相关配置信息,我用mysql做示例,数据库名称为df(意思为django first,其实这个不重要)
如果你不是用的mysql做数据库,可以参考http://djangobook.py3k.cn/chapter05/ 数据库配置 这一节
所以要安装PIL库,在这里http://www.pythonware.com/products/pil/
model的创建工作我们已经做完,那么我们可以在python的交互式环境中可以做测试了,但是需要说明的是这个交互式环境不是像学python那会,直接c:\python25\python.exe启动,而是需要通过你的app所在目录下的manage.py去启动,
命令是这样的:python manage.py shell
写测试代码
去查询数据库
成功保存
当然也可以为Publisher这个model定义__str__()方法,这个方法的作用相当于java中的toString()方法
“为了让我们的修改生效,先退出Python Shell,然后再次运行 python manage.py shell 进入。 现在列出 Publisher 对象就很容易理解了:”
也就是重新启动cmd窗口,重新启shell
你要是未自己定义__str__()方法,就会得到像下面的这个结果
关于模型操作更详细的部分请看完 http://djangobook.py3k.cn/chapter05/ 文档。包括filter, __contains,delete,取部分结果集,排序等等
这篇文章主要是单个model的保存,即将单个实体信息插入数据
包括应用的创建,模型的创建,保存模型的写法,测试方法
参考文档当然是经典的The Django Book (http://djangobook.py3k.cn/)(10/10/28注:前面的链接暂时已经不能访问,请参见官方文档 http://docs.djangoproject.com/en/1.2/),建议使用firefox浏览,因为我在同事的机器上用360什么的浏览器浏览发现会有一些奇怪的问题。
Django安装什么的直接略去,有时间再补上
新建一个项目:
诸如我们是要在目录下开始干活建项目E:\simon\project\django
启动命令行提示窗口,直接去这个目录E:\simon\project\django>c:\Python25\Lib\site-packages\django\bin\django-admin.py startproject firstproject
我们创建了一个firstproject这样的django工程
当然你可能已经发现我已经将python的安装路径(c:\python25)已经加到系统环境变量PATH中.
在E:\simon\project\django路径下发现多了firstproject这个目录,结构如下:
E:\simon\project\django>tree firstproject /a /F
E:\SIMON\PROJECT\DJANGO\FIRSTPROJECT
manage.py
settings.py
urls.py
__init__.py
没有子文件夹
简单的介绍下相关文件,其实从其名字上可以看出个大概:settings.py文件中包含了这个工程的配置信息,你可以配置这个工程的数据库配置信息,你这个工程所包含的应用(app)(app是一个小于工程的概念,也就是一个工程可能或包含很多app,关于更详细更专业的解释在这里http://djangobook.py3k.cn/chapter05/ “你的第一个应用程序” 这一段落的开头有解释 )信息等等;manage.py包含了很多管理你这个工程的动作,诸如你新增了一个(或一些)数据模型(model),那么你可以manage.py syncdb这样来同步到数据库;urls.py简单点说,里面写上了url跟你的应用的匹配。
好吧,我们现在就开始在settings.py中写上关于该工程的数据库的相关配置信息,我用mysql做示例,数据库名称为df(意思为django first,其实这个不重要)
如果你不是用的mysql做数据库,可以参考http://djangobook.py3k.cn/chapter05/ 数据库配置 这一节
http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. 用浏览器访问:http://127.0.0.1:8000/ '> 服务器成功启动 在刚才的工程下新建一个app,假设名为books 去firstproject目录下 cd firstproject manage.py startapp books 我们再看下刚才的firstproject目录发生了怎样的变化 E:\SIMON\PROJECT\DJANGO\FIRSTPROJECT | manage.py | settings.py | settings.pyc | urls.py | __init__.py | __init__.pyc | \---books models.py tests.py views.py __init__.py 创建数据模型,做过j2ee的人可能都知道,做web应用,最最基础的就是要创建POJO类,然后通过ORM的框架,如hibernate之类的(当然或者可以用JDBC直接封装Helper类去操作)进行CRUD等等。那么在Django中,我们就直接将数据模型写在models.py中。在http://djangobook.py3k.cn/chapter05/(10/10/28注:前面的链接暂时已经不能访问,请参见官方文档 http://docs.djangoproject.com/en/1.2/topics/db/models/ 参考quick example)这篇文档中介绍创建book相关的模型,在这里,“你的第一个模型”这一节。在moedls.py中填完代码。(注意:如果你用的是django 1, 2, 1以上版本,要将代码中的maxlength更换为max_length,否则后续同步到数据库会出现错误)。 关于Django用到的Field类型在这里http://docs.djangoproject.com/en/dev/ref/models/fields/ Django官方有详细的文档 你不会没发现models.py在哪里吧,他在这里,就是刚才建的app books目录下面 J 当你的model数据模型建立完毕,你自然是想在数据库建立相应的表。想做到这一步需要两个步骤: a) 在你的工程目录下的settings.py中的INSTALLED_APPS这个元祖中加上 ‘firstproject.books’, 千万要记得写上末尾的逗号,否则你会恨惨… J 完成后像这样: INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', # Uncomment the next line to enable the admin: # 'django.contrib.admin', 'firstproject.books', ) b) 最好先运行python manage.py validate 这是用来验证你刚才写你的模型的语法和逻辑是否正确 c) 在你工程目录下(不是你的应用目录下)run这样的command, manage.py syncdb 这样的就能在数据库建立与你刚才所建的数据模型对应的几张表 慢,等一下,因为我们在模型中用到了headshot = models.ImageField(upload_to='/tmp')
所以要安装PIL库,在这里http://www.pythonware.com/products/pil/
model的创建工作我们已经做完,那么我们可以在python的交互式环境中可以做测试了,但是需要说明的是这个交互式环境不是像学python那会,直接c:\python25\python.exe启动,而是需要通过你的app所在目录下的manage.py去启动,
命令是这样的:python manage.py shell
写测试代码
去查询数据库
成功保存
当然也可以为Publisher这个model定义__str__()方法,这个方法的作用相当于java中的toString()方法
“为了让我们的修改生效,先退出Python Shell,然后再次运行 python manage.py shell 进入。 现在列出 Publisher 对象就很容易理解了:”
也就是重新启动cmd窗口,重新启shell
你要是未自己定义__str__()方法,就会得到像下面的这个结果
关于模型操作更详细的部分请看完 http://djangobook.py3k.cn/chapter05/ 文档。包括filter, __contains,delete,取部分结果集,排序等等
相关文章推荐
- django学习笔记【004】创建带有model的app
- python学习笔记--Django入门0 安装dangjo
- python学习笔记--Django入门三 Django 与数据库的交互:数据建模
- 【day 10】python编程:从入门到实践学习笔记- 基于Django框架的Web开发-Django入门(一)
- [置顶] 【第三部分-django论坛从搭建到部署】一个完整的Django入门指南学习笔记
- 【day 15】python编程:从入门到实践学习笔记-基于Django框架的Web开发-用户账户(二)
- django入门笔记5- model
- Django学习笔记(三)—— 型号 model
- Django学习笔记1-入门
- [TensorFlow]入门学习笔记(6)-Tensorboard简易教程和模型保存
- Django学习笔记(一)-入门
- django学习入门二:链接数据库、创建数据库model、学习django的admin模块
- 【day 14】python编程:从入门到实践学习笔记-基于Django框架的Web开发-用户账户(一)
- python学习笔记--Django入门一 网页显示时间
- [置顶] 【第一部分-django论坛从搭建到部署】一个完整的Django入门指南学习笔记
- Crusher DJango 入门笔记(7) 学习基本http协议
- Django学习笔记:为Model添加Action
- django学习笔记之(model设计与实现)
- Django2.0 学习笔记(一)-->新手入门