Python学习笔记-数据库的使用(二)

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

原文地址:https://www.cnblogs.com/Cheng888/p/8519747.html

时间: 2024-11-02 11:59:48

Python学习笔记-数据库的使用(二)的相关文章

Python学习笔记-面向对象进阶(二)

一.反射 1.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省). 2.Python面向对象中的反射 通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 3.四个可以实现自省的函数 (1)hasattr(object,name),判断object中有没有一个name字符串对应的方法或属性,检测是否含有某属性. class BlackMedium: feture='Ugly' def _

python学习笔记-文件基本操作(二)

在上一篇文章中,简单介绍了打开文件的方法以及关于读.写.追加的操作,点击此处查看. 在此篇文章中,继续介绍另外一种打开文件的方法和几种同时读写的模式. 一.打开文件方法:with 使用file()或open()打开文件时,最后一定要使用close()方法来关闭文件,为了避免忘记使用,还使用使用with的方法开打开文件,代码如: with open ('文件名','模式') as f: ... 其中,f为文件句柄,该打开文件的方式等同于f=open('文件名','模式') 此方法也可以一次打开多个

Python学习笔记-模块介绍(二)-模块导入和执行

之前的一篇博文介绍了python中模块的概念和基本使用方法,模块作为python语言中的基本单元,可以用来编写公用库函数或对象以便重复使用.同时模块还可以作为独立文件进行运行,之前也已经提到,只要是导入了模块文件,那么PVM就会依次执行模块文件中的所有语句.本篇主要介绍模块使用的一些进阶,首先定义一个模块module_2.py,内容如下: # -*- encoding:utf-8 -*-'''module_2.py模块的内容''' print(__name__) def sum(a,b):ret

Python学习笔记 之 递归、二维数组顺时针旋转90&#176;、正则表达式

递归.二维数组顺时针旋转90°.正则表达式 1.   递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多容易造成栈溢出 要求: 每次调用递归规模上有所减小 前一次为后一次做准备 规模较小时必须直接给出解答而不再进行递归调用 例子:递归实现二分法 1 def searchMyData(mydate,a1): 2 mid = int(len(mydate)/2) 3 if mid >= 1: 4 if m

流畅python学习笔记:第十二章:子类化内置类型

子类化内置类型 在python2.2之后,内置类型都可以子类化,但是有一个注意事项:内置类型不会调用用户定义的类覆盖的特殊方法.这个说起来比较绕口,什么意思呢.我们来看下下面的代码: class DopperDict(dict):     def __setitem__(self, key, value):         super(DopperDict,self).__setitem__(key,[value]*2) ⑴ if __name__=="__main__":     d

Python学习笔记(三十二)常用内建模块(1)— datetime

>>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'> 获取指定日期和时间 要指定某个日期和时间,我们直接用参数构造一个datetime: >&g

Python学习笔记-数据库的使用(一)

1.     CentOS7安装MySQL # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server 重启MySQL服务 # service mysqld restart 初次安装mysql,root账户没有密码. # mysql -

Python学习笔记(四十二)第三方模块(PIL)图像处理

摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320027235877860c87af5544f25a8deeb55141d60c5000 安装Pillow 在命令行下直接通过pip安装: $ pip install pillow 如果遇到Permission denied安装失败,请加上sudo重试. 操作图像 来看看最常见的图像缩放操作,只需三四行代码:

python 学习笔记 (二)

逻辑运算符 python不用&& || !表示与或非,用and or not,优先级是not > and > or. bool类型:True 和 False 条件语句 if expression1: ; elif expression2: ; else: ; 字符串函数 word = raw_input("Enter a word: ") # 读入字符串给word isalpha()  # 返回False如果字符串里含有非字母字符 word = word[n