设为首页 收藏本站
查看: 1335|回复: 0

[经验分享] Django与数据库交互

[复制链接]

尚未签到

发表于 2016-11-22 10:09:40 | 显示全部楼层 |阅读模式
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
DSC0000.png
10.将sql提交至数据库. 运行python manage.py syncdb。可以看出,这是生成了多张表格(我也不知道其他表格干嘛用的。。。)
DSC0001.png
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午于金山公司

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303901-1-1.html 上篇帖子: NHibernate中主键生成策略详解. 下篇帖子: SQLite入门与分析(九)---VACUUM命令分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表