1. 在models.py内设置数据库模型

    # -*- coding=utf-8 -*-
    from __future__ import unicode_literals
    from django.db import models
    from django.contrib.auth.models import AbstractBaseUser
    # Create your models here. # 用户模型.
    #第一种:采用的继承方式扩展用户信息(本系统采用)
    #扩展:关联的方式去扩展用户信息
    class User(AbstractBaseUser):
    avatar = models.ImageField(upload_to='avatar/%Y/%m', default='avatar/default.png', max_length=200, blank=True, null=True, verbose_name='用户头像')
    qq = models.CharField(max_length=20, blank=True, null=True, verbose_name='QQ号码')
    mobile = models.CharField(max_length=11, blank=True, null=True, unique=True, verbose_name='手机号码') class Meta:
    verbose_name = '用户'
    verbose_name_plural = verbose_name
    ordering = ['-id'] def __unicode__(self):
    return self.username
  2. 在setting.py内将数据库类型 'DATABASES' 更改为mysql,并自定义要给model
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'blogdb',
    'USER': 'root',
    'PASSWORD': '',
    'HOST': '',
    'POST': '',
    }
    }
    #自定义model
    AUTH_USER_MODEL = 'blog.User'
  3. 创建mysql数据库,进入命令行
    C:\Users\66439>mysql -uroot -p664390  ——进入mysql数据库
    
    mysql> CREATE DATABASE blogdb;  ——创建一个 'blogdb' 表
    Query OK, 1 row affected (0.00 sec)
  4. 进入虚拟环境
    D:\python\blog_project>d:\python\blog_project_venv\Scripts\activate
  5. 生成数据库同步文件
    (blog_project_venv) D:\python\blog_project>manage.py makemigrations
    2016-05-25 23:16:29,582 [MainThread:9804] [django.db.backends:89] [utils:execute] [DEBUG]- (0.000) SET SQL_AUTO_IS_NULL = 0; args=None
    Migrations for 'blog':
    0001_initial.py:
    - Create model Ad
    - Create model Article
    - Create model Catagory
    - Create model Category
    - Create model Comment
    - Create model Links
    - Create model Tag
    - Create model User
    - Add field user to comment
    - Add field category to article
    - Add field tag to article

    makemigrations blog ——带上 'blog' ,只生成 'blog' 内的 'models.py'

        - Add field user to article
  6. 同步数据库
    (blog_project_venv) D:\python\blog_project>manage.py migrate

万里长征第二步——django个人博客(第四步 ——创建数据库)的更多相关文章

  1. 万里长征第二步——django个人博客(第一步 ——创建主页)

    运行命令行工具,输入:pip install virtualenv  --安装virtualenv库. virtualenv blog_project_venv ——使用virtualenv创建一个虚 ...

  2. 万里长征第二步——django个人博客(第三步 —— 设置一些全局变量)

    可以将一些全局变量设置在settingg.py里 #网站的基本信息配置 SITE_NAME = 'John的个人博客' SITE_DESC = '专注学习Python开发,欢迎和大家交流' WEIBO ...

  3. 万里长征第二步——django个人博客(第七步 ——上传文件)

    在项目目录下新建一个 ‘uploads’文件夹以保存上传的文件 配置setting.py文件 MEDIA_URL = '/uploads/' MEDIA_ROOT = os.path.join(BAS ...

  4. 万里长征第二步——django个人博客(第五步 ——配置后台admin)

    在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...

  5. 万里长征第二步——django个人博客(第二步 ——日志记录器)

    定义日志记录器 可以在setting.py里设置日志记录器 # 自定义日志输出信息 LOGGING = { 'version': 1, 'disable_existing_loggers': True ...

  6. 万里长征第二步——django个人博客(第六步 ——添加富文本编辑器)

    下载kindeditor 在admin.py文件中配置链接 class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', ...

  7. Django搭建博客网站(四)

    Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...

  8. Django 系列博客(四)

    Django 系列博客(四) 前言 本篇博客介绍 django 如何和数据库进行交互并且通过 model 进行数据的增删查改 ORM简介 ORM全称是:Object Relational Mappin ...

  9. Django个人博客开发 | 前言

    本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier 1.前言 自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎 ...

随机推荐

  1. 自动关闭IO流-jdk1.7版本

    public static void main(String[] args) throws IOException { try( FileInputStream fis = new FileInput ...

  2. django使用JWT保存用户登录信息

    在使用前必须弄明白JWT的原理,原理可以看我的另一篇博文:https://www.cnblogs.com/chichung/p/9966027.html JWT的流程 1.签发JWT 在用户正确输入账 ...

  3. phpcms v9表单向导添加验证码

    要做留言板的功能,故用添加表单,想要在提交留言前加一个验证码的功能.网上的教程比较混乱,于是亲自实验了下,步骤如下: 首先是调用表单的页面加入验证码.表单js调用模版默认的是 \phpcms\temp ...

  4. Intellij idea的maven依赖图

    Intellij idea下查看maven的依赖图与eclipse有所不同.下面简单介绍一下Intellij下maven的查看使用. 使用场景 当你想查看maven依赖的jar都有哪些,是否有冲突,冲 ...

  5. Django Ajax学习二之文件上传

    基于Django实现文件上传 1. url路由配置 路径:C:\Users\supery\Desktop\day82\demo_ajax\demo_ajax\urls.py from django.c ...

  6. Merge Intervals——STL的应用

    Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...

  7. 197. Rising Temperature

    Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...

  8. 邂逅Sass和Compass之Sass篇

    对于一个从后台转到前端的web开发者来说,最大的麻烦就是写CSS,了解CSS的人都知道,它可以开发网页样式,但是没法用它编程,感觉耦合性相当的高,如果想要方便以后维护,只能逐句修改甚至重写相当一部分的 ...

  9. Qtp中一个或多个ActiveX控件无法显示问题

    今天在使用qtp进行登陆测试的时候,发现了一个问题,现总结归纳如下: [问题] 在测试过程中,一直提醒:一个或多个ActiveX控件无法显示,原因可能是下列其中之一: 如下图所示: [解决办法] 在Q ...

  10. [BZOJ4025] 二分图 LCT/(线段树分治+并查集)

    4025: 二分图 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 2667  Solved: 989[Submit][Status][Discuss] ...