配置数据库
1.安装pymysql
(Django_login) D:\demo\Django_login>pip install pymysql
Collecting pymysql
Using cached https://files.pythonhosted.org/packages/a7/7d/682c4a7da195a678047c8f1c51bb7682aaedee1dca7547883c3993ca9282/PyMySQL-0.9.2-py2.p
y3-none-any.whl
Collecting cryptography (from pymysql)
Using cached https://files.pythonhosted.org/packages/f1/01/a144ec664d3f9ae5837bd72c4d11bdd2d8d403318898e4092457e8af9272/cryptography-2.3.1-
cp36-cp36m-win_amd64.whl
Collecting idna>=2.1 (from cryptography->pymysql)
Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-no
ne-any.whl
Requirement already satisfied: six>=1.4.1 in e:\venv\django_login\lib\site-packages (from cryptography->pymysql) (1.11.0)
Collecting asn1crypto>=0.21.0 (from cryptography->pymysql)
Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-p
y2.py3-none-any.whl
Collecting cffi!=1.11.3,>=1.7 (from cryptography->pymysql)
Using cached https://files.pythonhosted.org/packages/2f/85/a9184548ad4261916d08a50d9e272bf6f93c54f3735878fbfc9335efd94b/cffi-1.11.5-cp36-cp
36m-win_amd64.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography->pymysql)
Using cached https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.
gz
Installing collected packages: idna, asn1crypto, pycparser, cffi, cryptography, pymysql
Running setup.py install for pycparser ... done
Successfully installed asn1crypto-0.24.0 cffi-1.11.5 cryptography-2.3.1 idna-2.7 pycparser-2.19 pymysql-0.9.2
2.初始化pymysql
import pymysql
pymysql.install_as_MySQLdb()
3.创建数据库
mysql> CREATE DATABASE IF NOT EXISTS demo_login DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
4.配置数据库连接信息
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'demo_login',
'USER':'root',
'PASSWORD':'root',
}
}
5.设计数据库模型
from django.db import models
# Create your models here.
class User(models.Model):
gender=(
('mal',"男"),
('female',"女")
)
name=models.CharField(max_length=64,unique=True)
password=models.CharField(max_length=512)
email=models.EmailField(unique=True)
date=models.DateTimeField()
sex=models.CharField(max_length=2,choices=gender,default='男') #choices用于页面上的选择框标签,需要先提供一个二维的二元元组,第一个元素表示存在数据库内真实的值,第二个表示页面上显示的具体内容
def __str__(self):
return self.name #这个是用于管理后台查看用户信息的,没有就会使用user_object显示
class Meta:
db_table='t_user' #自定义创建的表名
verbose_name='用户' #管理后台显示的模型名称
verbose_name_plural='用户' #verbose_name的复数形式
6.创建表记录和表
(Django_login) D:\demo\Django_login>python manage.py makemigrations
Migrations for 'app_login':
app_login\migrations\0001_initial.py
- Create model User
(Django_login) D:\demo\Django_login>python manage.py migrate
Operations to perform:
Apply all migrations: admin, app_login, auth, contenttypes, sessions, xadmin
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying app_login.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
Applying xadmin.0001_initial... OK
Applying xadmin.0002_log... OK
Applying xadmin.0003_auto_20160715_0100... OK
7.连接数据库
8.查看表