搜尋
首頁資料庫mysql教程Python+Django+SAE系列教程12-----配置MySQL数据库_MySQL

pythonDjango

因为SAE上支持的是Mysql,首先我们要在本地配置一个Mysql的环境 ,我在网上找到MySQL-python-1.2.4b4.win32-py2.7.exe,并双击 安装


选择典型安装


安装结束后,会弹出配置数据库的界面 :


然后输数据管理员密码:


最后是运行服务。


这个过程并不复杂,安装完成Mysql以后,系统会启动数据库服务,由于Mysql是用命令行控制的,想我这样懒的 人还是需要借助一个可视化 工具来管理,我选择MySQL-Front。

在网上找到MySQL_Front_Setup.1765185107.exe,双击安装就可以了,安装完打开软件:


这时我们会看到已经有的几个数据库:


我要开发程序首先,我们要建立一个数据库(右键 新建数据库),起名字为Mytestdb:


OK,这样我们就建立了一个空的数据库了,我先不着急在这里建表和表的关系。我们打算使用Django的模型的方式来建立:

首先我们修改一下

 setting.py,好让Django认识我们新建立的数据库:

ADMINS = (	('hemeng80', 'hemeng80@126.com'),)MANAGERS = ADMINSfrom os import environdebug = not environ.get("APP_NAME", "") if debug:	#LOCAL 	db_name = "MyTestDB"	name = "root"	pwd = "123456"	host = "127.0.0.1"	port = "3306"else: 	#SAE 	import sae.const	db_name = sae.const.MYSQL_DB	 	name = sae.const.MYSQL_USER	 	pwd = sae.const.MYSQL_PASS	 	host = sae.const.MYSQL_HOST		port = sae.const.MYSQL_PORT	 	host_s = sae.const.MYSQL_HOST_S DATABASES = {	'default': {		'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.		'NAME': db_name,					# Or path to database file if using sqlite3.		'USER': name,					# Not used with sqlite3.		'PASSWORD': pwd,				# Not used with sqlite3.		'HOST': host,					# Set to empty string for localhost. Not used with sqlite3.		'PORT': port,					# Set to empty string for default. Not used with sqlite3.	}}
上面的内容不需要多解释,你就会能明白,一种是在sae环境下的链接,一种是在本地的链接。

这时我们需要使用Django,生成一个模型,在命令行模式输入:

python manage.py startapp person

这个命令并没有输出什么,它只在 mysite 的目录里创建了一个 books 目录。 让我们来看看这个目录的内容:
person/
    __init__.py
    models.py
    tests.py
    views.py


这个目录包含了这个app的模型和视图。
使用你最喜欢的文本编辑器查看一下 models.py 和 views.py 文件的内容。 它们都是空的,除了 models.py 里有一个 import。这就是你Django app的基础。

目前我们的目录结构是这样的:


接下来我们来

编辑 person的models.py,来定义我们的数据模型:

models.py:

from django.db import models# Create your models here.class ClassRoom(models.Model):	name = models.CharField(max_length=30)	tutor = models.CharField(max_length=30)class Student(models.Model):	name = models.CharField(max_length=30)	sex = models.CharField(max_length=5)	age = models.IntegerField()	state_province = models.CharField(max_length=30)	qq = models.IntegerField()	classroom = models.ForeignKey(ClassRoom)
上面的数据模型比较简单,你一看就能明白,需要注意外键关系是这样建立的:
classroom = models.ForeignKey(ClassRoom)
为了让django认识我们新添加的App,还需要在setting.py中修改一些内容:
INSTALLED_APPS = (	'django.contrib.auth',	'django.contrib.contenttypes',	'django.contrib.sessions',	'django.contrib.sites',	'django.contrib.messages',	'django.contrib.staticfiles',	'person',	# Uncomment the next line to enable the admin:	# 'django.contrib.admin',	# Uncomment the next line to enable admin documentation:	# 'django.contrib.admindocs',)
这时,我们可以进入命令行程序,来检查一下我们的app是否正确:

python manage.py validate

如果没有问题的话,我们就可以使用这个模型来建立数据库中的表和表的关系了 ,命令行进入我们之前建立好的路径,输入:

python manage.py sqlall person


这样自动生成了,数据模型的建立表的SQl,语句,我们在mysql-front里面执行就可以自动创建数据库中的表了:


如果我们复制粘贴的话,这里面有一点问题,其中语句长的换行了,会执行不通过的,我们修改一下就行了:


在打开数据库,刷新看看,是不是我们表都自动创建了?


我们注意到Django自动创建了一个自增的主键!

既然我们在sae中开发,那么下面我就来看看如何在sae中创建一个Mysql的数据库,添加表的,找到sae的Mysql服务,点击初始化:


然后管理Mysql:


在这个里面执行以下我们刚才复制的sql语句创建表 :


这样我们就在本地和sae中创建了相同的表,并添加了响应的app,下一步就是如何对这个表进行最基本的操作了。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
win11提示若要继续,请输入管理员用户名和密码怎么解决?win11提示若要继续,请输入管理员用户名和密码怎么解决?Apr 11, 2024 am 09:10 AM

当使用Win11系统时,有时候会遇到需要输入管理员用户名和密码的提示,本文将探讨在遇到这种情况时应该如何处理。方法一:1、点击【Windows徽标】,然后按【Shift+重启】进入安全模式;或者这样进入安全模式:点击开始菜单,选择设置。选择“更新和安全”;选择“恢复”中的“立即重启”;重启进入选项后选择——疑难解答——高级选项——启动设置—&mdash

Win11管理员阻止您执行此应用程序Win11管理员阻止您执行此应用程序Jan 30, 2024 pm 05:18 PM

Win11系统管理员已阻止你运行此应用在使用Windows11操作系统时,你可能会遇到一个常见的问题,即系统管理员已阻止你运行某个应用程序。这可能会让你感到困惑和沮丧,因为你可能需要运行这个应用程序来完成工作或享受娱乐。然而,不用担心,这个问题通常有解决办法。首先,我们需要了解为什么会出现这个问题。Windows11操作系统具有更高的安全性和隐私保护措施,为了防止恶意软件或病毒的运行,系统管理员可能会限制某些应用程序的运行权限。这是为了保护你的计算机和个人信息的安全。然而,有时候系统管理员可能会

Win11管理员权限获取方法汇总Win11管理员权限获取方法汇总Mar 09, 2024 am 08:45 AM

Win11管理员权限获取方法汇总在Windows11操作系统中,管理员权限是非常重要的权限之一,可以让用户对系统进行各种操作。有时候,我们可能需要获取管理员权限来完成一些操作,比如安装软件、修改系统设置等。下面就为大家总结了一些获取Win11管理员权限的方法,希望能帮助到大家。1.使用快捷键在Windows11系统中,可以通过快捷键的方式快速打开命令提

Win10作为管理员运行PowerShell的方法。Win10作为管理员运行PowerShell的方法。Jul 18, 2023 pm 02:05 PM

WindowsPowerShell是专为系统管理员设计的Windows命令行shell。WindowsPowerShell包括交互式提示和脚本环境,可以单独使用或组合使用。然而,许多PowerShell命令需要提高权限或管理员权限,您需要启动PowerShell提示符来执行它们。Win10作为管理员运行PowerShell的方法。方法1:使用Windows10开始菜单上下文菜单。右键单击Windows10开始菜单时,会出现上下文菜单,允许您快速启动常用的管理程序。上下文菜单包含一个名为Windo

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

access数据库的结构层次是什么access数据库的结构层次是什么Aug 26, 2022 pm 04:45 PM

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

数据库的什么是指数据的正确性和相容性数据库的什么是指数据的正确性和相容性Jul 04, 2022 pm 04:59 PM

数据库的“完整性”是指数据的正确性和相容性。完整性是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。完整性对于数据库系统的重要性:1、数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;2、合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;3、完善的数据库完整性有助于尽早发现应用软件的错误。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能