win+pycharm+django+mysql开发(win系统pythonweb开发)(二)
来源:互联网 发布:淘宝极有家投诉电话 编辑:程序博客网 时间:2024/06/15 05:50
昨天主要讲了框架的搭建和简单的例子,
今天接着昨天的,讲解django中结合数据库
一:添加MySQLdb
如果工程中需要用到mysql数据库,则需要对应的包,如果没有安装此包,则在交互模式下执行命令 import MySQLdb ,会报错 No module named MySQLdb
安装的方式有很多种,这里我用的是下载安装,地址是http://www.codegood.com/archives/129,下载MySQL-python 1.2.3 for Windows and Python 2.7, 32bit and 64bit versions,然后安装即可,没啥技巧。
安装完之后执行命令
没有报错,表示安装成功,继续!
二:修改配置文件
修改settings.py中的 DATABASES
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db_amdin', 'USER': 'root', 'PASSWORD': 'root#*132222', 'HOST': '192.168.1.112', 'PORT': '3306', # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}
我们测试下配置是否正确,交互模式下输入代码
发现报错了,额,难道是配置的不正确,nonono,原来进入shell交互界面的方式不对,应该进入的是项目的shell交互才能获取到配置文件
三:修改model.py
from __future__ import unicode_literalsfrom django.db import modelsclass Person(models.Model): name = models.CharField(max_length=20) age = models.CharField(max_length=10)
注意:不要定义id,要不然启动的时候会报错:report.Person: (models.E004) 'id' can only be used as a field name if the field also sets 'primary_key=True'.,因为django本身的命令会冲突(待会儿就知道了)
四:执行数据库同步命令
因为django版本的问题,执行python manage.py syncdb命令并没有什么效果,反而报错
改用
python manage.py makemigrations
python manage.py migrate
说明:在你改动了 model.py的内容之后执行下面的命令:
Python manger.py makemigrations
相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
当然你可以手动打开这个文件,看看里面是什么
在此之后执行命令
python manager.py migrate
将该改动作用到数据库文件,比如产生table之类
当makemigrations之后产生了0001_initial.py 文件,你可以查看下该migrations会对应于什么样子的SQL命令
表示成功了
五:启动项目,查看数据库
我用的是linux下查看数据库,这个依个人情况而定,比如可以用远程工具访问数据库
我们看到了默认生成了 report_person (应用名_类名)表,然后我们看了一下字段,给我们自动加上了id字段,这下知道刚才定义类的时候不需要定义id了吧
补充:
启动工程的时候,报如下错,表示MySQLdb没有安装,可以查看下文章开头的说明
下一篇会讲解数据库操作(增删改查)
1 0
- win+pycharm+django+mysql开发(win系统pythonweb开发)(二)
- win+pycharm+django+mysql开发(win系统pythonweb开发)(三)
- pythonWeb -- Django开发- Admin
- PythonWeb 开发Django框架(一) 环境搭建
- PythonWeb开发Django框架(三)模板Templates初步
- PythonWeb开发Django框架学习(五)Template标签
- PythonWeb开发Django框架学习(六)Tempalte过滤器
- PythonWeb开发Django框架学习(七)URL的配置
- PythonWeb开发Django框架学习(十二)基础总结
- Django 开发初探 (PyCharm+Django)
- Pycharm+Django+Python+MySQL开发(一)后台管理数据库
- pythonWeb -- Django开发-创建一个Django项目
- Android开发环境搭建(Win XP)
- 窗体应用开发(Win Form)入门
- Android开发环境部署(OS:win)
- PythonWeb开发Django框架学习(八)Model与数据库初步
- PythonWeb开发Django框架学习(九)使用Model类操作数据库数据
- PythonWeb开发Django框架学习(十)数据库一对多和多对多操作
- 位图(tkinter,Python3.x)
- Android网络编程TCP、UDP(一)
- Linux screen模式下运行文件
- Android ——Window类
- Glide之后台线程加载及缓存资源
- win+pycharm+django+mysql开发(win系统pythonweb开发)(二)
- html特殊字符 编码css3 content:"我是特殊符
- 计算机科学与技术——英语技能不可少
- Android网络编程TCP、UDP(二)
- 生成Json、解析Json的简单示例
- 如何使用新版万能地图下载器下谷歌地图像和等高线叠加
- Manifest merger failed解决方法
- 关于bootstrap学习总结
- 数据结构和算法