Django教程-02连接初始化数据库

Django教程-02连接初始化数据库,第1张

Django教程——01安装使用

在上面一篇文章里,介绍了安装Django的方法,这里说说连接数据库

这篇主要介绍踩的坑和解决办法

正常连接和初始化数据库的命令是

执行这个命令的时候,出现了如下报错

经过一段排查,是我配置数据库的时候,多嵌套了一层default,修改为如下即可

然后继续执行migrate时,会报如下错误

本机环境是mac电脑,按官方教程 *** 作的时候,发现安装mysqlclient的python包会依赖本机安装mysql或者mysql-client,但在装mysql和mysql-client的时候,发现一直报错。后面发现解决办法是,在settingspy文件里,加下如下代码,即改用pymsql连接即可。

或者在settingspy同目录的__init__py里加如上代码也可以

然后再执行python managepy migrate命令会发现表顺利创建。新增表,不影响原有库的其他表。

django 数据库使用(sqlite3和mysql)

一、sqlite3 使用

1、import sqlite3 确认系统中是否安装

2、进入当前项目目录,cmd后运行python,进入命令行模式

3、import sqlite3,

sqlite3connect('{path\namedb}') #大括号内表示自定义,真实情况没有大括号

4、修改settingspy文件

DATABASES = {

'default': {

'ENGINE': 'djangodbbackendssqlite3',

'NAME': {path\namedb}',

'USER': '',

'PASSWORD': '',

'HOST': '',

'PORT': '',

}

}

5、进入数据库文件界面,运行python managepy shell

from djangodb import connection

cur = connectioncursor()

如果没报错,则表示配置成功

6、修改modelspy文件,配置自己的

例如:

from djangodb import models

from djangocontrib import admin

# Create your models here

class BlogPost(modelsModel):

title = modelsCharField(max_length = 150)

body = modelsTextField()

timestamp = modelsDateTimeField()

class Meta:

ordering = ['-timestamp']

7、创建数据库内容

python managepy syncdb

根据提示输入,表示连接成功

注:以上只表示对数据库的创建,连接和使用,不包含其它内容。

二、mysql

1、确认安装mysql数据库

2、在mysql中创建数据库 命令模式下可以使用

CREATE DATABASE {name} DEFAULT CHARSET=utf8;

3、修改settingspy文件

DATABASES = {

'default': {

'ENGINE': 'djangodbbackendsmysql',

'NAME': '{name}',

'USER': '{username}',

'PASSWORD': '{password}',

'HOST':'localhost', #ip

'PORT':'3306',

}

}

4、修改modelspy文件,配置自己的表

例如:

from djangodb import models

from djangocontrib import admin

# Create your models here

class BlogPost(modelsModel):

title = modelsCharField(max_length = 150)

body = modelsTextField()

timestamp = modelsDateTimeField()

class Meta:

ordering = ['-timestamp']

5、创建数据库内容

python managepy syncdb

根据提示输入,表示连接成功

设计并实现一个基于Python的个人博客系统, 需要完成如下功能

完成个人博客系统的设计和开发

用户可以通过个人博客系统,发布最新的日志

运用所学专业理论及实践,分析解决遇到的问题以提高自己的动手、思考及解决问题的能力

主要模块如下

文章管理模块:主要功能是管理员系统管理员登入后,浏览查看文章,删除不好的文章等功能

标签管理模块:主要功能是管理员系统管理员登入后,浏览查看相册,删除相册等功能

文章、标签浏览模块:主要功能是游客进入系统后。可以浏览文章列表,可以按标签查看文章

评论系统模块, 游客可以发表查看别人的评论

安装与使用

项目采用Django框架进行开发, Django是一个用于快速web开发的优异方案(几乎没有之一), 获取源码后可以按照如下方式来运行代码

新建mysql数据库, 将数据库sql文件导入

修改源码包中的 csworkblog/settingspy 文件, 将DATABASES这个变量里的内容改一下, 这个就是你本地的数据库url和用户名密码, 其中NAME为你的database名称

进入源码包, 打开cmd, 运行命令 python managerpy runserver 就能启动服务, 端口为8000

>

界面还是比较好看的, 项目截图源码下载地址     cs-workcom/p/21031 

关于Django16中DATABASES的设置也是一样不用做任何修改,跟以前MySQLdb的时候一样,如下所示:

1 DATABASES = {

2 'default': {

3 'ENGINE': 'djangodbbackendsmysql', #数据库引擎

4 'NAME': 'test', #数据库名

5 'USER': 'root', #用户名

6 'PASSWORD': 'root', #密码

7 'HOST': '', #数据库主机,默认为localhost

8 'PORT': '', #数据库端口,MySQL默认为3306

9 'OPTIONS': {

10 'autocommit': True,

11 },

12 }

13 }

最关键的一点,在站点的__init__py文件中,我们添加如下代码:

1 import pymysql

2 pymysqlinstall_as_MySQLdb()

做完上述动作后,即可在django中访问mysql了。

以上就是关于Django教程-02连接初始化数据库全部的内容,包括:Django教程-02连接初始化数据库、如何将django中的sqlite3换成mysql、如何用django开发一个简易个人Blog-Python等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9736309.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存