Natural

           

          Django官方文檔學(xué)習(xí)筆記:Tutorial: Part 1

             
              最近對(duì)Python產(chǎn)生了興趣,前幾天看了下網(wǎng)上的資料,熟悉了下基本語(yǔ)法。俗話說(shuō)“實(shí)踐出真知”,有了基本的了解后得實(shí)踐一下,這樣便于加深對(duì)Python的理解。
              那做點(diǎn)什么呢?準(zhǔn)備學(xué)習(xí)一下Django開(kāi)發(fā)。據(jù)網(wǎng)上描述了解到,它是個(gè)快速開(kāi)發(fā)的web框架,便于快速推出一個(gè)web的模型,演示。

              谷歌了下,找到幾個(gè)鏈接:
              官方入門(mén)教程(英文,當(dāng)前官網(wǎng)默認(rèn)是1.5,你也可以跳到其它版本)    https://docs.djangoproject.com/en/1.5/
              官方入門(mén)教程中文版(1.4,發(fā)現(xiàn)只翻譯到入門(mén)的前兩節(jié))    http://django-document-cn.readthedocs.org/en/latest/
              Django Book 2.0(翻譯的不錯(cuò),還有評(píng)論。但版本舊了點(diǎn),英文困難的可以參考一下)    http://djangobook.py3k.cn/2.0/

              首先要準(zhǔn)備的就是開(kāi)發(fā)環(huán)境了:
              1、Python(2.5~2.7)
              網(wǎng)上下了個(gè)2.7.3版本,巴拉巴拉安裝……不細(xì)表了。

              2、下載django開(kāi)發(fā)包。
              下的是1.5版本。解壓,命令行進(jìn)入其目錄運(yùn)行“python setup.py install”,安裝……

              3、創(chuàng)建django項(xiàng)目    https://docs.djangoproject.com/en/1.5/intro/tutorial01/
              根據(jù)官方文檔說(shuō)明,命令行進(jìn)入你喜歡的地方運(yùn)行“python django-admin.py startproject mysite”創(chuàng)建mysite項(xiàng)目(實(shí)際開(kāi)發(fā)時(shí),還是推薦使用Eclipse,裝上python的PyDev插件。直接創(chuàng)建django項(xiàng)目更方便)。
              windows會(huì)出現(xiàn)如下錯(cuò)誤提示:
          D:\Temp>python django-admin.py startproject mysite
              python: can
          't open file 'django-admin.py': [Errno 2] No such file or directory
              windows下需帶上安裝路徑創(chuàng)建,例如python安裝在C盤(pán)下:“python C:\Python27\Scripts\django-admin.py startproject mysite
              官方文檔中給出具體不同環(huán)境下的說(shuō)明:
              “This will create a mysite directory in your current directory. If it didn’t work, see Problems running django-admin.py.”

              4、啟動(dòng)開(kāi)發(fā)server
              命令行進(jìn)入創(chuàng)建的mysite目錄,運(yùn)行“python manage.py runserver”,服務(wù)即提示跑起來(lái)了。可登錄“http://127.0.0.1:8000”看一下效果。
              可能端口沖突、或需要從別的機(jī)器訪問(wèn)該應(yīng)用,可按照如下方式啟動(dòng):

          a.指定端口號(hào)
          python manage.py runserver 
          8080

          b.允許從你的IP地址訪問(wèn)(默認(rèn)只能本機(jī)127.0.0.1訪問(wèn))
          python manage.py runserver 
          0.0.0.0:8000

              5、安裝數(shù)據(jù)庫(kù)
              Django支持四種數(shù)據(jù)庫(kù):PostgreSQL,SQLite3,MySQL,Oracle.
              可以修改"mysite/settings.py"文件,來(lái)設(shè)置相應(yīng)的數(shù)據(jù)庫(kù)。不過(guò)作為初學(xué)者,使用Python自帶的SQLite方便。
              列一下該配置文件中的幾個(gè)主要變量。
              TIME_ZONE:
              默認(rèn)時(shí)區(qū)是“America/Chicago”,需要修改為你當(dāng)前的時(shí)區(qū)(國(guó)內(nèi)“Asia/Shanghai”)。
              LANGUAGE_CODE = 'zh-cn'
              語(yǔ)言設(shè)為中文
              INSTALLED_APPS:
              項(xiàng)目默認(rèn)安裝的一些應(yīng)用,這些應(yīng)用依賴于數(shù)據(jù)庫(kù)。
              命令行進(jìn)入manage.py的目錄,執(zhí)行“python manage.py syncdb”命令將數(shù)據(jù)庫(kù)初始化一下。你會(huì)看但相關(guān)的Creating table信息,并提示你是否創(chuàng)建一個(gè)超級(jí)用戶。

              6、創(chuàng)建模型
              命令行繼續(xù)在該目錄創(chuàng)建投票應(yīng)用 “python manage.py startapp polls
              打開(kāi)“polls\models.py”,編寫(xiě)兩個(gè)Python類(lèi):Poll、Choice。

              7、激活模型
              也就是把新建的那兩個(gè)模型類(lèi)初始化一下,讓它在數(shù)據(jù)庫(kù)中也生成相應(yīng)的表。
              打開(kāi)"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',
          )
              命令行中執(zhí)行以下命令,會(huì)打印出polls應(yīng)用相關(guān)模型的SQL語(yǔ)句(官方文檔中還提及其它各種SQL生成命令,感興趣的可以試試)。
              python manage.py sql polls
              如果模型有錯(cuò)誤,會(huì)有提示信息出來(lái)。確認(rèn)無(wú)誤可執(zhí)行“python manage.py syncdb”完成數(shù)據(jù)庫(kù)表映射。

              8、使用API
              這一塊主要講的是,如何將該項(xiàng)目的DB部分在python的shell中進(jìn)行CRUD等測(cè)試。并推薦在寫(xiě)models時(shí)添加__unicode__()方法。
              這是一個(gè)類(lèi)似于java的toString方法。有了該方法,在django打印查詢到的models對(duì)象時(shí),會(huì)顯示該方法返回的值。
          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 此號(hào)已被刪 閱讀(2594) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Python

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(8)

          隨筆分類(lèi)(83)

          隨筆檔案(78)

          文章檔案(2)

          相冊(cè)

          收藏夾(7)

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 清水河县| 溧水县| 清原| 晴隆县| 嘉祥县| 庆云县| 本溪| 桦甸市| 壤塘县| 蒲城县| 云龙县| 麟游县| 西藏| 碌曲县| 临城县| 高雄市| 出国| 海南省| 石家庄市| 祁连县| 错那县| 什邡市| 安徽省| 吐鲁番市| 巩留县| 商丘市| 洪泽县| 松潘县| 花莲县| 平度市| 勐海县| 丰宁| 通州市| 望江县| 兴宁市| 怀柔区| 宁蒗| 阿合奇县| 宜丰县| 哈尔滨市| 饶河县|