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)
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可
- 设计师常常使用一些独特的字体效果和页面效果,阴影是其中一个,它可以让页面中的文字和元素具有立体的效果,从而被突出出来。比如对于文字阴影,传统
- 登陆页login.asp:<% if request.Form.count>0 then ses
- 很早以前就有很多关于用CSS制作的相册,今天突然想看又找不到,反正也无聊,自己做了一下,结果做一下发现自己温习了一些东西。还行,
- 学习WEB标准的朋友一般都是从学习CSS开始,为什么呢?因为CSS是一种很有意思的语言,它能让我们的网页千变万化。也许我们一开始的接触只是因
- 面是我下载页面down.php 的php代码 现在我发现,用迅雷,谷歌浏览器直接打开,就能输出下载文件,一点不起防盗链作用。&nb
- aspx: <div id="selDiv" style=" z-index:100; visibili
- 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的
- 以下所描述无理论依据,纯属经验谈。MySQL使用4.1以上版本,管他是什么字符集,一律使用默认。不用去设置MySQL。然后举个使用GB231
- 本文实例讲述了PHP函数按引用传递参数及函数可选参数用法。分享给大家供大家参考,具体如下:一、函数按引用传递参数1. 代码<!DOCT
- 关于oracle 优化的内容很多,概念庞杂,不过可以总结出一个大纲性的东西作为需要考虑的方向,然后再逐步细化。oracle优化按重要性需要考
- 现在的垃圾留言越来越智能,并且从留言内容几乎看不出来是垃圾留言,而大量的垃圾留言会导致文章可读性下降,并可能会被搜索引擎惩罚,经过一段时间的
- 正如你现在所看到的一样,网页的布局设计变得越来越重要。访问者不愿意再看到只注重内容的站点。虽然内容很重要,但只有当网页布局和网页内容成功接合
- 本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法。1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取
- 问题描述时间在我们日常的代码编写中会是经常出现的筛选或排序条件,尤其是一些特殊时间节点的时间显得尤为突出,例如昨天,当前日期,当前月份,当前
- 通过本接口可以查询圆通快递、申通快递、ems快递、韵达快递等快递单号查询信息,无需其他额外开发,非常方便首先到www.aikuaidi.cn
- Mysql Explain 详解一.语法explain < table_name >例如: explain select * f
- 在用wordpress这个博客的时候,我很奇怪的发现,最近写的内容排在第一页,而最早写的成了最后页。这显然有悖逻辑,正常的情况应该是最早写的
- 发现问题Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对
- 登录与注册两个按钮似乎天生就应该是排在一起的,就像很多地方的“确定”与“取消”一样,甚至排在一起的意义远远强于后者。于是长期以来,用户们也形