Linux下安装Python3和django并配置mysql作为django默认服务器方法
作者:jingxian 发布时间:2023-11-15 01:04:44
我的操作系统为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)


猜你喜欢
- 昨日内容:ORM高级查询-filterid=3id__gt=3id__lt=3id__lte=3id__gte=3-in /not in.f
- 从这节算是开始进入“正规”的机器学习了吧,之所以“正规”因为
- 例如:性别 gender 男 女 保密基本语法:enum(数据值 1,数据值 2...);数据值列表在 255 个以内,使用 1 个字节来存
- 为什么Python中0.2+0.1不等于0.3大家请看下面的python程序代码:print(0.2+0.1)猜一猜运行结果是什么,是0.3
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified
- kali中angr的安装方式在Linux中安装各种依赖python的软件时,最头疼的问题之一就是各个软件的python版本不匹配的问题,an
- 本文实例为大家分享了python实现画圆功能的具体代码,供大家参考,具体内容如下import numpy as np import matp
- Request Payload 和 Form Data 请求头上的参数差别在于:Content-TypeForm DataPost表单请求代
- 本文实例讲述了python实现美团订单推送到测试环境,提供便利操作。分享给大家供大家参考,具体如下:背景: 有时候需要在测试环境下一个美团的
- 总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进
- 今天在学习dubbo-go的时候,下载了dubbo-go的example,依赖的包太多了,之前都是手动下载某个依赖的包,现在手动一个一个 g
- 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户的年龄,根据年龄打印不同的内容。。。Python程序中,能让计算机
- 1 前言正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好
- 好吧,我承认我是对晚上看到一张合适的票转让但打过电话去说已经被搞走了这件事情感到蛋疼。直接上文件吧。#coding: utf-8'&
- 一、ESlint+Vetur 实现ESlint代码规范二、重点----旧版本(旧版本配置在setting.json 会出现警告){“esli
- 事情是这样的:平时我汇报或者写论文需要画图,都会喜欢用Python的 matplotlib 和 seaborn 把数据📊 📈 和分析结果 🗂
- 交互设计师的一项重要工作就是进行产品原型设计(Prototype Design)。而产品原型设计最基础的工作,就是画出站点的大体wirefr
- //-------------------------------------------- // 删除千分点。 //-----------
- 本文实例讲述了Python实现随机生成手机号及正则验证手机号的方法。分享给大家供大家参考,具体如下:依据根据2017年10月份最新的手机号正
- 对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的