1 在MySQL创建表
1)启动mysql
#service mysqld start
2)创建项目
#django-admin.py startproject web_04
3)创建应用
#cd web_04
#django-admin.py startapp blog
4)创建新的database
#mysql –u root –p (有密码)
#mysql –u root (无密码)
Mysql>create database user default charset = utf8;
5)数据库配置settings.py
#vim web_04/settings.py
- 在installed_app下添加’blog’,
- 将Databases各项设置:
‘ENGINE‘: ‘django.db.backends.mysql‘, (数据库类型)
‘NAME‘: ‘user‘, (添加在mysql创建的database)
‘USER‘: ‘root‘,
‘PASSWORD‘: ‘password‘, (密码)
‘HOST‘: ‘‘, (主机名默认为localhost)
‘PORT‘: ‘‘, (端口号默认为3306)
6)对模型表models.py进行编码
例:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=20,default=‘‘)
sex = models.CharField(max_length=10,default=‘male‘)
def __unicode__(self): #将对象属性显示出来
return self.name + ‘ ‘ + self.sex
class Dog(models.Model):
Itemid = models.AutoField(primary_key=True)
color = models.CharField(max_length=5)
7)让django知道要包含的blog应用
#python manage.py makemigrations blog (blog:项目中创建的应用)
8)同步数据库
#python manage.py migrate
9)查看
Mysql>use user;
Mysql>show tables;
将会找到blog_person和blog_dog
10)查看表blog_person 与 表blog_dog
Mysql>desc blog_person
Mysql>desc blog_dog
2 利用django在mysql创建数据
1)启动mysql服务
#service mysqld start
2)进入python的交互模式
#python manage.py shell
3)添加数据
- 方法一:实例一个对象,修改对象的属性
:from blog.models import Person
:per = Person()
:per.name = ‘Sheldon’
:per.save()
- 方法二:将字段属性添加到构造方法的参数中
:from blog.models import Person
:per = Person(name = ‘Penny’,sex = ‘female’)
:per.save()
- 方法三:利用类对象管理器objects的create方法添加
:from blog.models import Person
:Person.objects.create(name = ‘Lenerd’)
4)获取所有的对象
:pers = Person.objects.all()
5)在数据库中查看添加的数据
#mysql –u root –p
Mysql>use user;
Mysql>select * from blog_person;
3 结果显示在网页中
1)创建界面,设置urls.py
from blog.views import index
urlpatterns = [
url(r‘^admin/‘, admin.site.urls),
url(r‘^show/$‘,index),
]
2)编码views.py
from django.shortcuts import render_to_response
from blog.models import Person
def index(req):
pers = Person.objects.all()
return render_to_response(‘index.html‘,{‘pers‘:pers}) #(index.html:加载模板文件。)
3)创建模板文件index.html
#cd web_04/blog
#mkdir templates
#vim templates/index.html
<html>
<head>
<title></title>
</head>
<body>
{% for per in pers %}
<div>{{forloop.counter}} {{per}}</div>
{% endfor %}
</body>
</html>
4)启动django内置的轻量级web服务器
#python manage.py runserver
浏览器输入127.0.0.1:8000/show