代码详解django中数据库设置

首先定义数据库的表名和字段

启动mysql数据库 bash mysql.server start

安装pymysql pip install pymysql

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

在_init_.py文件中加入如下代码:

import pymysql
pymysql.install_as_MySQLdb()

新建数据库

mysql -u root -p 登录root
show databases 显示数据库
create database mysite 创建数据库

settings.py配置数据库:

1)django默认使用的是sqlite数据库
2)修改settings.py文件的DATABASES选项进行数据库的配置
3)设置想要使用的数据库。比如mysql

DATABASES = {
'default': {
  'ENGINE': 'django.db.backends.mysql',
  'NAME': 'mysite',
  'USER': 'root',
  'PASSWORD': '12345678',
  'HOST': 'localhost',
  'PORT': '3306',
}
}

创建app

一个项目中可以创建多个app
使用命令 python manage.py startapp myApp,后生成myApp目录以及相关文件。
admin.py 站点配置
models.py 定义模型
views.py 定义视图

激活app

1)在settings.py文件中将app名称myApp应用加入到INSTALLED_APPS

INSTALLED_APPS = [

'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myApp',]

2)定义模型,一个数据库表对应一个模型。

在models.py中加入类似如下:

class Grades(models.Model):

gname = models.CharField(max_length=20)
gdate = models.DateTimeField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField(default=False)

ps:不用定义主键,后面会自动生成。

3)在数据库中生存数据库表

python manage.py makemigrations
python manage.py migrate

这样在数据库中即生成了与models对应的数据库表,但是表的内容是空的。

(0)

相关推荐

  • Django如何自定义model创建数据库索引的顺序

    首先这是一个先有鸡还是先有蛋的问题,大部分时候数据都来自excel的整理,当数据越来越多,需要分析的点也越来越多的时候,通过excel来管理显然有些吃力了. 这时候就需要将excel导入到数据库中,然而model创建的索引并非是我们编写时候的顺序,特别是当存在 models.ForeignKey 时,我们必须要先创建 ForeignKey的class,最后再创建总表. 为了保证数据库的索引跟excel的索引一致,我们需要对model中的索引字段做一系列的处理(可能这是一个野路子). 首先当然是先

  • django初始化数据库的实例

    最近项目需要,需要在表创建好之后,初始化一些数据.Django初始化数据的方法有很多,但都需要额外的手动操作,不智能. 看网上有一种方法用post_syncdb信号来初始化数据库,但是我用的Django版本是1.8, 使用python manage.py migrate来同步数据库,不使用Python manage.py syncdb来同步数据库,就想看看能否使用post_migrate信号来初始化数据库.研究了Django的signal,试了一下,果然可以. 在你的APP目录下,创建一个文件m

  • 浅谈Django中的数据库模型类-models.py(一对一的关系)

    如下所示: # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. # 一对一关系:数据库中两个表中数据的对应关系 # 一个账户对应着一个联系人,而一个联系人有一个账户 # 一对一关系是通过在两个表之间定义相同的主键来完成 class Account(models.Model): username = models

  • Python学习笔记之Django创建第一个数据库模型的方法

    Django里面集成了SQLite的数据库,对于初期研究来说,可以用这个学习. 第一步,创建数据库就涉及到建表等一系列的工作,在此之前,要先在cmd执行一个命令: python manage.py migrate 这个命令就看成一个打包安装的命令,它会根据mysite/settings.py的配置安装一系列必要的数据库表 第二步,我们要建立一个Model层,修改demo/model.py: from django.db import models classQuestion(models.Mod

  • Django 根据数据模型models创建数据表的实例

    如果使用默认的数据库 SQLite3,则无需配置settings.py 使用其他数据库,则需要配置settings.py,这里以Mysql为例: DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', 'NAME':'webapp',#数据库名 'USER':'test1',#用户名 'PASSWORD':'123456',#密码 'HOST':'127.0.0.1', 'PORT':'3306', } } 在models.

  • 代码详解django中数据库设置

    首先定义数据库的表名和字段 启动mysql数据库 bash mysql.server start 安装pymysql pip install pymysql PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. 在_init_.py文件中加入如下代码: import pymysql pymysql.install_as_MySQLdb() 新建数据库 mysql -u root -p 登录root show database

  • 详解Django中异步任务之django-celery

    Celery文档参考:http://docs.jinkan.org/docs/celery/ 参考文章:https://www.jb51.net/article/158046.htm Django中异步任务---django-celery Celery简单介绍: celery使用场景: 耗时任务定时任务 请求结果不怎么重要的 耗时任务比如:发送短信验证码我们可以先发送给客户任务状态(请求成功或失败) 请求结果重要的建议使用django实现 比如:支付 首先简单介绍一下,Celery 是一个强大的

  • 详解django中Template语言

    Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,视图V和模版T.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布.这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. 下面看下本文重点给大家介绍的django中Template语言,详情如下: Template本身也有自己的语言和语法,用来处理简单的数据显示 1.常用语法 判断

  • 详解Django中views数据查询使用locals()函数进行优化

    优化场景 利用视图函数(views)查询数据之后可以通过上下文context.字典.列表等方式将数据传递给HTML模板,由template引擎接收数据并完成解析.但是通过context传递数据可能就存在在不同的视图函数中使用重复的查询语句,所以可以通过将重复查询语句设置全局变量,配合locals()函数进行数据查询与传递. 优化前 def index(request): threatname = '威胁情报展示' url = 'www.testtip.com' allthreat = Threa

  • 详解Jvm中时区设置方式

    这篇文章memo一下Jvm中关于时区设定的基础操作. Java的时区设定 这里列出如下三种方式 方式 说明 TimeZone.setDefault方式 通过java的utils下的TimeZone进行动态设定 user.timezone传递方式 运行时通过传递-Duser.timezone=xxx进行设定 TZ环境变量方式 通过export的TZ环境变量进行设定 TimeZone.setDefault方式 Sample代码如下: sh-4.2# cat TestTimeZone.java imp

  • 详解Django中CSRF和CORS的区别

    目录 一.CSRF:保护机制 二.CORS:跨域访问 一.CSRF:保护机制 Django预防CSRF攻击的方法是在用户提交的表单中加入一个csrftoken的隐含值,这个值和服务器中保存的csrftoken的值相同,这样做的原理如下: 1.在用户访问django的可信站点时,django反馈给用户的表单中有一个隐含字段csrftoken,这个值是在服务器端随机生成的,每一次提交表单都会生成不同的值 2.当用户提交django的表单时,服务器校验这个表单的csrftoken是否和自己保存的一致,

  • 详解Django中的FBV和CBV对比分析

    在学习Django过程中在views.py进行逻辑处理时接触到了两种视图的书写风格,FBV和CBV FBV 指 function based views,即基于函数的视图 CBV 指 class based views,即基于类的视图 基于类的视图相较于基于函数的视图可以更加便利的实现类的继承封装等.在日常使用的时候,二者的区别主要在于对于request的请求方法的处理方式 FBV 我们通过函数传入的request的method来判断客户端发起的是什么请求,并进行相应的操作,返回相应的数据. d

  • 详解Django中的权限和组以及消息

    在认证框架中还有其他的一些功能. 我们会在接下来的几个部分中进一步地了解它们. 权限 权限可以很方便地标识用户和用户组可以执行的操作. 它们被Django的admin管理站点所使用,你也可以在你自己的代码中使用它们. Django的admin站点如下使用权限: 只有设置了 add 权限的用户才能使用添加表单,添加对象的视图. 只有设置了 change 权限的用户才能使用变更列表,变更表格,变更对象的视图. 只有设置了 delete 权限的用户才能删除一个对象. 权限是根据每一个类型的对象而设置的

  • 详解Django 中是否使用时区的区别

    起步 在 Django 的模型中新加了一个日期的字段: import datetime class Instance(models.Model): ... start_time = models.DateTimeField(default=datetime.datetime.now) 同步到数据库时 Django 报出了一个警告: django/db/models/fields/__init__.py:1423: RuntimeWarning: DateTimeField Instance.st

  • 详解Django中 render() 函数的使用方法

    render() 函数 在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细心阅之) # index的 urls.py from django.urls import path form . import views urlpatterns = [ # 定义首页的路由 path(' ', views.index, name='index'), ] # index的views.py from

随机推荐