首页 > 数据库 > MySQL > 正文

Linux下安装Python3和django并配置mysql作为django默认服务器方

2019-11-02 16:23:07
字体:
来源:转载
供稿:网友

我的操作系统为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.shvim /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# 安装pippython3 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配置文件

# 进入该projectcd 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文件配置中我们定义了数据库名称为mysitemysql>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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表