Django與資料庫互動

來源:互聯網
上載者:User
1. 產生Django架構:cmd->CD進入包含django-admin.py的檔案執行django-admin.py startproject myprj。這樣會在該檔案夾下產生四個檔案:__init__.py,manage.py, settings.py, urls.py
2.使用python產生一個sqlite3資料庫
  import sqlite3
  sqlite3.connect('database/webblog.db')//注意:這裡,如果database檔案要存在(在python安裝目錄下).webblog如果不存在會自動產生。
3.設定資料庫。修改settings.py,
  DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
  DATABASE_NAME = r"C:\Python25\database\webblog.db"             # Or path to database file if using sqlite3.
  DATABASE_USER = ''             # Not used with sqlite3.
  DATABASE_PASSWORD = ''         # Not used with sqlite3.
  DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
  DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
  我使用的是sqlite3做後台資料庫,所以這裡DATABASE_ENGINE應為sqlite3, DATABASE_NAME要制定資料庫的的絕對路徑(相對路徑我沒試過,不知是否可以)。還有,這裡,要把database這個檔案夾設為所有人可寫(在我的上一篇博文中有介紹如何修改該許可權)。
4.進cmd,cd進包含manage.py的檔案夾,例如:C:/..(省略)..> cd c:\python25\scripts\webblog(斷行符號),然後輸入python manage.py shell。此時會發現控制台編程>>>。輸入from django.db import connection. 繼續輸入cur = connection.cursor()。如果此時無錯誤提示,說明你的資料庫已經配置成功。
5. 退出shell.>>>ctrl+z(^z)
6. 建立一個新的應用。控制台輸入:python manage.py startapp webblogapp。此時,會在當前檔案夾內產生webblogapp檔案夾。內共有4個檔案__init__.py,models.py,tests.py, views.py
7. 使用models.py定義模型。修改models.py,加入如下代碼:
  from django.db import models
  from django.contrib import admin

  # Create your models here.

  _list_per_page = 50
  
  #其實這裡定義的類就相當於是定義了兩個表。最後可以看到它會產生兩張表:webblogapp_User,webblogapp_person
  #關於model的如何定義,推薦看下http://docs.djangoproject.com/en/dev/topics/db/models/
  class User(models.Model):
      username = models.CharField(max_length=20)
      password = models.CharField(max_length=20)
      nickname = models.CharField(max_length=30)

  class person(models.Model):
      GENDER_CHOICES = (
          (u'M', u'Male'),
          (u'F', u'Female'),
          )
      name = models.CharField(max_length=60)
      gender = models.CharField(max_length=2, choices=GENDER_CHOICES)
8. 定義完模型後(資料庫中的表),就需要安裝模型。在settings.py中,修改如下:
  INSTALLED_APPS = (
      #'django.contrib.auth',
      #'django.contrib.contenttypes',
      #'django.contrib.sessions',
      #'django.contrib.sites',
      'webblog.webblogapp',   #webblog是包含webblogapp的檔案夾名,webblogapp是包含models.py的檔案
    )
9. 運行python manage.py sqlall webblogapp。產生表格。可以看出產生了兩個表格webblogapp_user,webblogapp_person

10.將sql提交至資料庫. 運行python manage.py syncdb。可以看出,這是產生了多張表格(我也不知道其他表格幹嘛用的。。。)

11. 接下來,會要求你輸入使用者名稱,郵箱,密碼之類的。照著輸就OK了。
12. 進入shell。python manage.py shell.
>>> p = Person(name="Fred Flinstone", gender="M")
>>> p.save()  //相當於在webblogapp_person中插入一行記錄
>>> p.gender
u'M'
>>> p.get_gender_display()
u'Male'

          ----David Cai08-08-19午於金山公司

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.