Django开发 (二) 连接到数据库与网站后台管理
在Web程序中难免要与数据库打交道,django目前支持四种数据库
1、PostgreSQL
需要安装psycopg
2、SQLite 3 SQLite3是一个本地数据库,类似于access,可以使用SQLite-manager来管理。
在Django下面使用SQLite需要安装pysqllite,点击这里直接下载pysqlite-2.4.1.win32-py2.5.exe
3、MySQL
版本为1.2.1p2或者更高的MySQL需要安装MySQLdb,
4、Oracle
版本为 4.3.1 或者更高的Oracle需要安装cx_Oracle
对于SQL Server的数据库引擎支持工作尚未完成
本文已最简单的SqlLite为例进行介绍,希望能起到抛砖引玉的效果.
1、 数据库的配置
根据上一章创建一个名为myblog的项目
打开根目录下的settings.py文件,编辑如下配置:
DATABASE_ENGINE = 'sqlite3' # 数据库引擎
DATABASE_NAME = './db/blog.sqlite' # 数据库名字,若是sqlite,则制定数据库文件路径
DATABASE_USER = '' # 用户名,sqlite为空
DATABASE_PASSWORD = '' # 密码,sqlite为空
DATABASE_HOST = '' # 数据库服务器地址,sqlite为空
DATABASE_PORT = '' # 端口,sqlite为空
设置 | 数据库 | 适配器 |
---|---|---|
postgresql | PostgreSQL | psycopg 版本 1.x, http://www.djangoproject.com/r/python-pgsql/1/. |
postgresql_psycopg2 | PostgreSQL | psycopg 版本 2.x, http://www.djangoproject.com/r/python-pgsql/. |
mysql | MySQL | MySQLdb , http://www.djangoproject.com/r/python-mysql/. |
sqlite3 | SQLite | Python 2.5+ 内建。 其他, pysqlite , http://www.djangoproject.com/r/python-sqlite/. |
ado_mssql | Microsoft SQL Server | adodbapi 版本 2.0.1+, http://www.djangoproject.com/r/python-ado/. |
oracle | Oracle | cx_Oracle , http://www.djangoproject.com/r/python-oracle/. |
2、创建model
在根目录下创建mvc文件夹,在mvc下分别创建models.py, __init__.py文件
django把每个具有__init__.py文件的文件夹看成一个命名空间,在根目录下需要添加他的引用,在setting.py找到

model.py的代码:

好了,model都创建好了,下面生成数据库
3、生成数据库
打开命令行,进入项目所在的文件夹输入manage.py syncdb ,它会提示你
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no):
大概的意思是是否创建django自带的网站后台管理程序的数据库,选择yes, 然后根据提示设置好用用户名和密码等
该操作后你可以在配置的数据库文件夹下看到生成的数据库
4、测试数据连接
运行命令行 python manage.py shell
输入下面这些命令来测试你的数据库配置:
>>> from django.db import connection
>>> cursor = connection.cursor()
如果没有显示什么错误信息,那么你的数据库配置是正确的
5、配置urls.py
打开urls.py,在顶上加上 from django.contrib import admin
在patterns添加一项 (r'^admin/(.*)',admin.site.root),
好了 现在在命令行输入 manage.py runserver 启动web服务
浏览器打开http://127.0.0.1:8000/admin/进入网站后台管理~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)