以Python-3.8.10.tar.xz安装包为例
1.解压安装包tar -xf Python-3.8.10.tar.xz
2.安装gcc和依赖软件yum install gcc libffi-devel zlib* openssl-devel -y
3.进入到解压出来的python目录中进行编译./configure --prefix=/usr/local/python3.8make && make install
4.创建软连接 ①.将/usr/local/python3.8软连接成/usr/local/python3,为了后续更新python容易,后续更新只要修改这个软连接即可。
②.python3、pip3软连接到环境变量目录中,命令行直接调用,我比较喜欢弄到/usr/bin/。
pip3 install Djangopip3 install pymysql
将/usr/local/python3/bin/目录下django-admin软连接到/usr/bin/目录下,方便后续创建项目。
2.执行django-admin创建项目django-admin startproject main
一般我比较喜欢主项目名字为main,等下只要把上级目录名重命名就行了
3.项目重命名mv main/ helloword
三、安装数据库yum install mariadb-server –ysystemctl enable mariadbsystemctl start mariadb
四、数据库授权create database django;grant all privileges on django.* to 'django'@'%' identified by 'django'; grant all privileges on django.* to 'django'@'127.0.0.1' identified by 'django'; flush privileges;
五、配置django 1.配置主项目下的setting.py,本例中在main目录下①.修改为全部host都能访问
ALLOWED_HOSTS = [] -> ALLOWED_HOSTS = [‘*’]
②.修改时区是上海
TIME_ZONE = 'UTC’ -> TIME_ZONE = 'Asia/Shanghai'
③.修改数据库参数
DATAbaseS = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': base_DIR / 'db.sqlite3', }}
改为
DATAbaseS = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'USER': 'django’, #使用的数据库用户名 'PASSWORD': 'django', #使用的数据库密码 'HOST': '10.23.144.33', #这里为数据库的地址,本地可以用127.0.0.1 'PORT': 3306, #数据库端口 'NAME': 'django', #使用的库名 'OPTIONS': { 'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"', 'charset': 'utf8mb4' } }}
2.在主项目目录下的__init__.py中添加如下内容import pymysqlpymysql.install_as_MySQLdb()
3.修改manage.py的解释器为python3#!/usr/bin/env python -> #!/usr/bin/env python3
六、创建第一个项目 1.配置主项目下的urls.py ①.把views.py脚本引入到urls.py中调用
②.在路径路由中写入helloword执行views中的helloword函数。
执行过程是django先到主项目的urls.py中找到url的路由,这里from 、import views的意思是引入当前目录下的views.py文件到urls.py中调度。
path(‘helloword’,views.helloword),的意思是客户端访问的uri为/helloword的时候调度到views.py文件中的helloword函数。
from django.contrib import adminfrom django.urls import pathfrom 、import viewsurlpatterns = [ path('admin/', admin.site.urls), path('helloword',views.helloword),]
2.在本级目录下创建views.py 3.新增views.py中的内容from django.http import HttpResponsedef helloword(requets): return HttpResponse('hello word')
七、试运行程序./manage.py runserver 0.0.0.0:80