django操作mysql数据库&models的使用

本文介绍如何使用Django创建游戏服务器后台管理系统,并详细讲解了Django与MySQL数据库结合的具体操作,包括安装配置、创建管理角色、模型定义及数据库操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用django来编写游戏服务器后台管理的web站点还是比较的合适。本文收集整理了django网站和mysql相关的操作,以资查阅。

前提

安装django、MySQLdb、mysql。可以通过pip来安装django。MySQLdb库则需要去到官网找合适的版本来安装。

pip install django==1.10

MySQLdb
django创建站点流程可以查阅这里

配置数据库连接

找到自己的django项目目录(注意在django中有项目和app两种概念)中的settings.py文件。将配置内容修改成需要使用的db的配置。

DATABASES = {
    'default': {

        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_db',
        'HOST' : '127.0.0.1',
        'USER' : 'web',
        'PASSWORD' : '123456',
        'PORT' : '3306',

    }
}

官方文档中对DATABASES的使用可以查阅这里

为站点创建管理角色

python manage.py createsuperuser
python manage.py changepassword username

models

models在django中很重要,使用它能很方便的对数据库做增删改查的操作。

定义

找到自己新建的app目录中,找到一个叫做models.py的文件,可以在这里指定自的Model。其实这个可以理解成一个table

class user(models.Model):
    account = models.CharField(max_length=64)
    passwd = models.CharField(max_length=64)
    authority = models.CharField(max_length=64)
    authority.default = "newbie"
    registTime = models.DateTimeField()

关于表里面的字段说明可以查阅这里

加入到站点管理

在app目录,找到admin.py文件,将模块引入到站点管理中

from django.contrib import admin
from . import models
admin.site.register(models.user)

这样就能在站点管理器里面增删改查models里面的数据。管理站点就是django的/admin/这个url之下的站点。
效果图可以查看这里搜索(Explore the free admin functionality)

将新建的models同步数据库

python manage.py makemigrations
python manage.py migrate

步骤里面第一步将会在查询当前MySQL和本地的models的差异,生成合并的代码。
第二步是将合并代码导入数据库。

基本操作

增数据

from blog.models import Blog
b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
b.save()

查数据

models.proverb.objects.all()

通过条件查询数据

level1_menus=models.main_menu.objects.filter(parent__exact="null")
Place.objects.filter(name="Bob's Cafe")
q2 = q1.exclude(pub_date__gte=datetime.date.today())
one_entry = Entry.objects.get(pk=1)
Entry.objects.filter(pub_date__lte='2006-01-01')
SELECT * FROM blog_entry WHERE pub_date <= '2006-01-01';

查询条件可以查阅这里

Django 操作 MySQL 数据库是一个常见的任务,在 Django 中通过配置数据库连接、模型定义以及查询等方式可以轻松地与 MySQL 进行交互。 ### 步骤概述 #### 1. 安装必要的依赖 首先需要安装 `mysqlclient` 或者 `pymysql` 等用于支持 Python 和 MySQL 的驱动程序。例如: ```bash pip install mysqlclient ``` 如果无法安装 `mysqlclient`,可以选择 `PyMySQL` 并手动添加到 Django 配置文件中。 --- #### 2. 配置数据库信息 编辑项目的 `settings.py` 文件中的数据库部分,指定使用数据库MySQL,并填写相关信息: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 使用MySQL作为引擎 'NAME': 'your_database_name', # 数据库名称 'USER': 'your_username', # 用户名 'PASSWORD': 'your_password', # 密码 'HOST': 'localhost', # 主机地址,默认本地即可 'PORT': '3306', # 默认端口为3306 } } ``` **注意:** 如果使用 PyMySQL,则需在项目入口处初始化它: ```python import pymysql pymysql.install_as_MySQLdb() ``` --- #### 3. 创建数据表结构 (Model) Django 提供了 ORM 功能来简化对数据库操作,无需直接编写 SQL 语句。我们可以通过创建 Model 来生成对应的表格。 示例代码如下: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=100) # 图书标题 author = models.CharField(max_length=50) # 作者名字 published_date = models.DateField() # 出版日期 def __str__(self): # 可选:方便调试查看内容 return self.title ``` 运行以下命令将上述 model 转化成实际的 MySQL 表格: ```bash python manage.py makemigrations python manage.py migrate ``` --- #### 4. 查询操作 Django 支持多种查询语法来进行增删改查等基础功能。以下是几个例子: - **增加记录** ```python new_book = Book(title="Python入门", author="张三", published_date='2023-09-01') new_book.save() ``` - **检索记录** 获取所有书籍列表: ```python books = Book.objects.all() for book in books: print(book.title, book.author) ``` 根据条件筛选某些特定的数据项(比如查找某个作者的所有作品): ```python specific_books = Book.objects.filter(author="李四") ``` - **更新现有条目** 修改某本书的信息后再保存回去: ```python a_book = Book.objects.get(id=1) # 假设ID为1的是目标对象 a_book.title = "高级Python教程" a_book.save() ``` - **删除一条或多条数据** 移除符合条件的一系列结果集里面的元素之一或全部: ```python one_book = Book.objects.get(id=1).delete() some_books = Book.objects.filter(published_date__year=2020).delete() ``` 以上便是基本流程说明! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值