发布时间:2019-08-11 11:27:38编辑:auto阅读(1104)
数据库,里面有各种宝贝,一个没有数据库的网站,提供的功能非常有限
连接数据库
mysql是最常用的数据库,这里将django和mysql连接。
安装:
easy_install MySQL-python 或 pip install MySQL-python 登陆数据库 建库: CREATE DATABASE villa DEFAULT CHARSET=utf8; 授权: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON villa.* TO 'vamei'@'localhost' IDENTIFIED BY 'vameiisgood';
在setting.py中,更改database对象
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'villa', 'USER': 'vamei', 'PASSWORD': 'vameiisgood', 'HOST': '/tmp/mysql.sock', 'PORT': '3306', } }
指定后台类型为mysql,上面包含数据库用户名,密码,django根据这一设置与数据库连接
创建模型
django将关系型的表转化为一个类,而每个记录则是该类下的一个对象。个表为一个类。表的每一列是该类的一个属性。在models.py中,我们创建一个只有一列的表,即只有一个属性的类
[root@112 west]# cat models.py from django.db import models class Character23(models.Model): name = models.CharField(max_length=200) def __unicode__(self): return self.name
类Character有一个__unicode__()方法,用来说明对象的字符表达方式。如果是Python 3,定义__str__()方法,实现相同的功能.
命令Django同步数据库。Django根据models.py中描述的数据模型,在MySQL中真正的创建各个关系表:
python manage.py syncdb
录入数据
INSERT INTO west_character23 (name) Values ('Vamei'); INSERT INTO west_character23 (name) Values ('Django'); INSERT INTO west_character23 (name) Values ('John'); select * from west_character23;
在west中添加视图
cat views.py # -*- coding: utf-8 -*- from django.shortcuts import render from django.http import HttpResponse from west.models import Character23 def staff(request): staff_list = Character23.objects.all() staff_str = map(str, staff_list) return HttpResponse("<p>" + ' '.join(staff_str) + "</p>")
从west.models中引入了Character23类。通过操作该类,我们可以读取表格中的记录,
为了让http请求能找到上面的程序,west/urls.py增加url导航增加如下一行:
url(r'^staff/', 'west.views.staff'),
上一篇: Python - 关于Python的变量
下一篇: python数字类型
46587
44490
35920
33485
28171
24741
23661
18867
18161
16846
4656°
5215°
4745°
4878°
5543°
4507°
4559°
5099°
5003°
6252°