Django与数据库交互

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午于金山公司
原文地址:https://www.cnblogs.com/xingluzhe/p/1549780.html