Natural

 

Django官方文档学习笔记:Tutorial: Part 1

   
    最近对Python产生了兴趣,前几天看了下网上的资料,熟悉了下基本语法。俗话说“实践出真知”,有了基本的了解后得实践一下,这样便于加深对Python的理解。
    那做点什么呢?准备学习一下Django开发。据网上描述了解到,它是个快速开发的web框架,便于快速推出一个web的模型,演示。

    谷歌了下,找到几个链接:
    官方入门教程(英文,当前官网默认是1.5,你也可以跳到其它版本)    https://docs.djangoproject.com/en/1.5/
    官方入门教程中文版(1.4,发现只翻译到入门的前两节)    http://django-document-cn.readthedocs.org/en/latest/
    Django Book 2.0(翻译的不错,还有评论。但版本旧了点,英文困难的可以参考一下)    http://djangobook.py3k.cn/2.0/

    首先要准备的就是开发环境了:
    1、Python(2.5~2.7)
    网上下了个2.7.3版本,巴拉巴拉安装……不细表了。

    2、下载django开发包。
    下的是1.5版本。解压,命令行进入其目录运行“python setup.py install”,安装……

    3、创建django项目    https://docs.djangoproject.com/en/1.5/intro/tutorial01/
    根据官方文档说明,命令行进入你喜欢的地方运行“python django-admin.py startproject mysite”创建mysite项目(实际开发时,还是推荐使用Eclipse,装上python的PyDev插件。直接创建django项目更方便)。
    windows会出现如下错误提示:
D:\Temp>python django-admin.py startproject mysite
    python: can
't open file 'django-admin.py': [Errno 2] No such file or directory
    windows下需带上安装路径创建,例如python安装在C盘下:“python C:\Python27\Scripts\django-admin.py startproject mysite
    官方文档中给出具体不同环境下的说明:
    “This will create a mysite directory in your current directory. If it didn’t work, see Problems running django-admin.py.”

    4、启动开发server
    命令行进入创建的mysite目录,运行“python manage.py runserver”,服务即提示跑起来了。可登录“http://127.0.0.1:8000”看一下效果。
    可能端口冲突、或需要从别的机器访问该应用,可按照如下方式启动:

a.指定端口号
python manage.py runserver 
8080

b.允许从你的IP地址访问(默认只能本机127.0.0.1访问)
python manage.py runserver 
0.0.0.0:8000

    5、安装数据库
    Django支持四种数据库:PostgreSQL,SQLite3,MySQL,Oracle.
    可以修改"mysite/settings.py"文件,来设置相应的数据库。不过作为初学者,使用Python自带的SQLite方便。
    列一下该配置文件中的几个主要变量。
    TIME_ZONE:
    默认时区是“America/Chicago”,需要修改为你当前的时区(国内“Asia/Shanghai”)。
    LANGUAGE_CODE = 'zh-cn'
    语言设为中文
    INSTALLED_APPS:
    项目默认安装的一些应用,这些应用依赖于数据库。
    命令行进入manage.py的目录,执行“python manage.py syncdb”命令将数据库初始化一下。你会看但相关的Creating table信息,并提示你是否创建一个超级用户。

    6、创建模型
    命令行继续在该目录创建投票应用 “python manage.py startapp polls
    打开“polls\models.py”,编写两个Python类:Poll、Choice。

    7、激活模型
    也就是把新建的那两个模型类初始化一下,让它在数据库中也生成相应的表。
    打开"mysite/settings.py"文件,在"INSTALLED_APPS"属性中加入polls。
INSTALLED_APPS = (
    
'django.contrib.auth',
    
'django.contrib.contenttypes',
    
'django.contrib.sessions',
    
'django.contrib.sites',
    
'django.contrib.messages',
    
'django.contrib.staticfiles',
    
# Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'polls',
)
    命令行中执行以下命令,会打印出polls应用相关模型的SQL语句(官方文档中还提及其它各种SQL生成命令,感兴趣的可以试试)。
    python manage.py sql polls
    如果模型有错误,会有提示信息出来。确认无误可执行“python manage.py syncdb”完成数据库表映射。

    8、使用API
    这一块主要讲的是,如何将该项目的DB部分在python的shell中进行CRUD等测试。并推荐在写models时添加__unicode__()方法。
    这是一个类似于java的toString方法。有了该方法,在django打印查询到的models对象时,会显示该方法返回的值。
class Poll(models.Model):
    
# 
    def __unicode__(self):
        
return self.question

class Choice(models.Model):
    
# 
    def __unicode__(self):
        
return self.choice_text


posted on 2013-04-07 18:35 此号已被删 阅读(2565) 评论(0)  编辑  收藏 所属分类: Python


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(8)

随笔分类(83)

随笔档案(78)

文章档案(2)

相册

收藏夹(7)

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜