Django_1数据库安装配置

auth:xiangxianzhang

Date:2018-4-23

Email:550276107@qq.com

GitHub:https://github.com/xxz199539/notebook

Django简介:

django是一个由Python编译的开放源代码的Web应用框架,初次发布于2005年,于2008年9月发布了第一个正式版本。

Django 下载地址:https://www.djangoproject.com/download/

注意:目前Django 1.6.x以上版本已经完全兼容Python 3.x。


Django安装步骤:

下载 Django 压缩包,解压并和Python安装目录放在同一个根目录,进入 Django 目录,执行python setup.py install,然后开始安装,Django将要被安装到Python的Lib下site-packages。

这里写图片描述


MVC

Django采用了MVC的软件设计模式:

  • M–model: 即数据存取层。用于封装于应用程序的业务逻辑相关的数据,以及对数据的处理。说白了就是模型对象负责在数据库中存取数据。
  • v–view:即表现层。负责数据的显示和呈现。渲染的html页面给用户,或者返回数据给用户。
  • C–control: 即业务逻辑层。负责从用户端收集用户的输入,进行业务逻辑处理,包括向模型中发送数据,进行CRUD操作。

可以用下图来理解MVC关系:

这里写图片描述

MVT

  • M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
  • V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
  • T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
    MVT中的Django框架结构如下:
    这里写图片描述
不管是MVT还是MVC,其核心思想都是降低代码的耦合性,根据Python中的高内聚,低耦合的原则,一个模块最好只能实现一个功能,增强代码的可扩展性和可移植性,实现向后兼容。

新建django项目

1.安装virtualenv,打开命令行工具,输入:

pip install  virtualenv

2.创建本地虚拟环境并进入

virtualenv --no-site-package testenv
activate

3.安装Django项目

pip install django==1.11(令版本号为1.11)

5.创建项目

django-admin startproject helloworld
在helloworld文件夹下有这四个py文件:
1.manage.py: 是Django用于管理本项目的管理集工具,之后站点运行,数据库自动生成,数据表的修改等都是通过该文件完成;
2.—init—.py: 指明该目录结构是一个python包,暂无内容,在后期会初始化一些工具会使用到;
3.settings.py: Django项目的配置文件,其中定义了本项目的引用组件,项目名,数据库,静态资源,调试模式,域名限制等;
4.urls.py:项目的URL路由映射,实现客户端请求url由哪个模块进行响应;
5.wsgi.py:定义WSGI接口信息,通常本文件生成后无需改动。

6.启动Django项目

python manage.py runserver ip:端口(如果端口号不写就默认8000)

7.创建app

python manage.py startapp stu

8.更改helloword下的setting.py文件
在setting.py中做以下更改:

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'HOST':'localhost',
    'USER':'root',
    'PASSWORD':'123456',
    'PORT':'3306',
    'NAME':'firsthello'
    }
}
LANGUAGE_CODE = 'zh-hans'//中文

TIME_ZONE = 'Asia/Shanghai'//以上海时区为准
DATABASES是连接数据库所需要的数据,这里是以我的数据库为准,firesthello是我新建的一个数据库。

9.引入mysql并对stu的model进行定义

在初始文件init.py中引入mysql数据库

import pymysql

pymysql.install_as_MySQLdb()
一个模型类在数据库中对应一张表,在模型类中定义的属性,对应模型对照表中的一个字段
class Student(models.Model):
    name = models.CharField(max_length=20)  //这里是stu表里面的字段
    sex = models.BooleanField()

    class Meta:
        db_table = 'stu'  //在firsthello这个数据库中创建一个stu的表

10.迁移数据库
a) 生成迁移文件

python manage.py makemigrations
注意:如果执行后并没有生成迁移文件,一直提示No changes detected这个结果的话,就要手动的去处理了。有两点处理方式: 
先删除掉__pycache__文件夹 
1) 直接强制的去执行迁移命令,python manage.py makemigrations xxx (xxx就是app的名称) 
2) 查看自动生成的数据库,查看表django_migrations,删掉app字段为xxx的数据(xxx就是app的名称)

b) 执行迁移生成数据库

python manage.py migrate
注意: 生成迁移文件的时候,并没有在数据库中生成对应的表,而是执行migrate命令之后才会在数据库中生成表

11.配置debug
通过配置debug我们可以通过打断点的方式来调试代码,当代码出现bug的时候就不需要逐句用print来查找问题。

1 首先在Pycharm中打开你的Django项目,点击上面编辑栏上的run->Edit Configurations

这里写图片描述

2.在打开的窗口中,把Defaults的+号打开,点击Python。然后在出现的右侧窗口中输入以下数据: Script: manage.py Script Parameters: runserver 。输入完毕后右下角点击Apply按钮

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_41768400/article/details/80207451