zoukankan      html  css  js  c++  java
  • Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

    我的操作系统为centos6.5

    1  首先选择django要使用什么数据库。django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包。

    yum install mysql  mysql-devel
    #为了测试方便,我们需要安装sqlite-devel包
    yum install sqlite-devel 

    2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3的新版本。本人下载的版本为python3.5.2

    wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

    3  解压并安装

    复制代码
    #  解压tar包
    tar xf Python-3.5.2.tgz 
    #  进入解压后的包
    cd Python-3.5.2
    #  配置安装信息,我的安装路径为/usr/install/python3/
    ./configure --prefix=/usr/install/python3/
    #  编译并安装
    make && make install
    复制代码

    4  配置PATH环境变量

    #  在/ect/profile.d/文件下新建一个文件python3.sh
    vim /etc/profile.d/python3.sh
    #  添加下面这句话
    export PATH=$PATH:/usr/install/python3/bin/
    #然后执行
    export PATH=$PATH:/usr/install/python3/bin/

    5  默认情况下安装完Python3.5.2已经安装了pip,但我想要安装较新版本的pip

    # 下载pip安装程序
    wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
    #  安装pip
    python3 get-pip.py

    6  安装django

    pip install Django

    7  安装mysqlclient,mysqlclient是一个Python3与mysql的连接器。

    pip install mysqlclient

    至此,Python与django安装完成!

    如何配置mysql为django默认数据库?

      1  创建一个新的project

    # 创建一个名为mysite的项目
    django-admin startproject mysite 

      2  进入该project并修改settings配置文件

    复制代码
    # 进入该project
    cd mysite
    #  修改settings配置文件
    vim mysite/settings.py
    #  找到 DATABASES 属性
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',            #  将mysql作为django默认数据库
            'NAME':'mysite',                                 #  配置数据库名称
            'USER':'root',                                   #  数据库用户
            'PASSWORD':'123456',                             #  用户密码
            'HOST':'127.0.0.1',                              #  配置数据库服务所在地址,若为空则默认为localhost
            'PORT':'3306',                                   #  配置端口
        }
    }
    复制代码

       3  django并不会为我们创建数据库,我们需要手动创建数据库。

    复制代码
    #  启动数据库服务
    service mysqld start
    #  登录数据库并进入数据库命令行界面
    mysql
    #  创建一个名为mysite的数据库。settings文件配置中我们定义了数据库名称为mysite
    mysql>CREATE DATABASE mysite CHARACTER SET=utf8;
    # 退出数据库命令行界面
    mysql> quit
    复制代码

      4  在mysite项目中新建一个名为polls的app

    [root@bogon mysite]# python3 manage.py startapp polls

       5  修改polls/models.py文件

    复制代码
    #  
    vim polls/models.py 
    #  修改如下:
    
    from django.db import models
    # Create your models here.
    class student(models.Model):     
        name=models.CharField(max_length=24)     
        school=models.CharField(choices=(('sc01','第一中学'),('sc02','第二中学'),('sc03','第三中学')),max_length=32)
        sfid=models.IntegerField(primary_key=True,unique=True,)
        phone=models.IntegerField(blank=True,null=True) 
        emial=models.EmailField(null=True,blank=True)
    
        def __str__(self):
            return self.name
    复制代码

      若想理解models.CharField()等方法,可以参考我的文章: django中的model field 。

      6  配置settings文件中的INSTALLED_APPS属性

    复制代码
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'polls.apps.PollsConfig',       # 添加该行
    ]
    复制代码

      7  通知django,polls中的models文件已被修改。

    python3 manage.py makemigrations poll

      8  (本步骤可略过)如果我们想知道对polls/models.py所进行的修改映射到数据库中会如何操作,可使用如下命令:

    python3 manage.py sqlmigrate polls 0001

      9  将对models文件进行的修改映射到数据库中

    python manage.py migrate

      10  (本步骤可省略)如果想要在admi界面对自定义的模型进行增删查改,需要在对app下的admin.py文件进行修改。

    from .models import student
    #  对student模型进行登记
    admin.site.register(student)

    (此博客为转载)

  • 相关阅读:
    jQuery源代码学习笔记_01
    jQuery学习心得
    前端笔试题目练习
    JavaScript Date学习实例:获取3分钟前的时间“hhmmss”格式
    JavaScript Date 学习心得
    Javascript 中的false、0、null、undefined和空字符串对象
    JavaScript比较运算符——"== != === !=="区别
    JavaScript运算符优先级——"++,--,&&,||“
    JavaScript操作符(=?,)优先级
    JavaScript控制流及关键字与C语言之比较
  • 原文地址:https://www.cnblogs.com/mryrs/p/7115292.html
Copyright © 2011-2022 走看看