目录
  • 1. 环境准备

  • 2. 开始安装

    • 2.1 安装Django

    • 2.2 安装 Mysql数据库

  • 3. 开始配置

    • 3.2.1 创建新的app hello

    • 3.2.2 pycharm同步下载远程hello目录

    • 3.2.3 修改django配置脚本

    • 3.1.1 创建一个工程(project)为devops:

    • 3.1.2 通过PyCharm远程同步服务器代码

    • 3.1.3 在pycharm上直接修改django的配置文件:

    • 3.1.4 启动django服务

    • 3.1 Django简单配置

    • 3.2 创建新的APP


码好python的每一篇文章.


大家好!又有一段时间没更新文章了 ,没错 ,是真的忙了 。想要写一篇文章,确实要花几天时间的功夫,因为要保障文章的质量 。

后面的文章我会通过写些基础理论和实战文章 ,毕竟干技术的,光看理论确实会没那么多耐心,总之 ,我会穿插一些,保证各位看官满意为止。

1. 环境准备

序号IP地址操作系统安装软件备注
1192.168.8.130CentOS 7.6.1810python3.6+django2.2都运行在虚拟环境
2192.168.8.131CentOS 7.6.1810mysqlmysql数据
3192.168.8.1windows 10PyCharm Pro专业版能够使用与centos远程同步配置
  • CentOS7安装环境,请谷歌 或百度查找安装文档 ,该步骤略。

  • python环境安装

    pyenv虚拟环境管理python多版本和软件库  请参考此文 。

    如何更新pip源步骤:

    [root@localhost ~]# mkdir .pip [root@localhost ~]# cd .pip/ [root@localhost .pip]# touch pip.conf [root@localhost .pip]# vim pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com # 添加或修改后,记得保存。

如何更新YUM源步骤:

 # 安装wget,有则忽略 ,跳过  [root@localhost ~]# yum install wget -y    # 备份yum源  [root@localhost python]# cd /etc/yum.repos.d/  [root@localhost yum.repos.d]# mkdir repo_bak  [root@localhost yum.repos.d]# mv *.repo repo_bak/    # 下载新的repo  [root@localhost yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo    # 清除系统yum缓存并生成新的yum缓存  [root@localhost yum.repos.d]# yum clean all  [root@localhost yum.repos.d]# yum makecache    # 安装EPEL(Extra Packages for Enterprise Linux )源  [root@localhost yum.repos.d]# yum install -y epel-release    # 再次清除系统yum缓存并生成新的yum缓存  [root@localhost yum.repos.d]# yum clean all  [root@localhost yum.repos.d]# yum makecache    # 查看系统可用的yum源和所有的yum源  [root@localhost yum.repos.d]# yum repolist enabled

PIP源更新参考链接

YUM源更新参考链接

2. 开始安装

2.1 安装Django

说明: 此台CentOS IP地址是 192.168.8.130(通过NAT映射,可以上互联网)

# 安装django2.2版本 (py369) [python@localhost Python]$ pip install django==2.2 # 查看已安装的版本信息 (py369) [python@localhost Python]$ python -m django --version 2.2 # 安装mysql拓展 (py369) [python@localhost Python]$ pip install mysqlclient

2.2 安装 Mysql数据库

说明: 此台CentOS IP地址是 192.168.8.131(通过NAT映射,可以上互联网)

  • 安装与启动

    提前下载如下安装包 ,通过winscp上传到根目录下:

    http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-server-5.7.31-1.el7.x86_64.rpm

    复制上面链接通过浏览器下载 ,速度更快。

# 安装mysql及拓展 [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm [root@localhost ~]# yum -y install mysql-community-server-5.7.31-1.el7.x86_64.rpm # 启动mysql服务 [root@localhost ~]# systemctl start mysqld.service # 查看mysql服务状态 [root@localhost ~]# systemctl status mysqld.service   ...此处省略字符   # active 就表示正常在运行了   Active: active (running) since Tue 2020-07-21 10:14:23 CST; 2s ago   ...此处省略字符

  • 修改密码及创建数据库

# 查找密码,uQjeSi?N(2zH,这个就是缺省密码 [root@localhost ~]# grep "password" /var/log/mysqld.log 2020-07-21T20:48:28.965616Z 1 [Note] A temporary password is generated for root@localhost: uQjeSi?N(2zH # 用缺省密码登陆数据库 [root@localhost ~]# mysql -uroot -p Enter password:uQjeSi?N(2zH  # 输入密码 # 修改密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'DevOps@2020'; Query OK, 0 rows affected (0.01 sec) # 授权访问数据库 mysql> grant all on *.* to 'root'@'%' identified by 'DevOps@2020'; Query OK, 0 rows affected, 1 warning (0.00 sec) # 刷新权限 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) # 创建新的数据库 mysql> CREATE DATABASE IF NOT EXISTS devops default charset utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) # 查看已创建的数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | devops             | | mysql              | | performance_schema | | sys                | +--------------------+ 5 rows in set (0.00 sec) # 退出数据库,修改配置文件,结果如下所示: [root@localhost ~]# cat /etc/my.cnf |grep -v ^#|grep -v ^$ [client] default-character-set = utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid character-set-server = utf8 collation-server = utf8_general_ci # 重启数据库 [root@localhost ~]# service mysqld restart

  • 数据库连接验证正常:

    windows 10下安装mysql拓展并验证连接数据库:

C:\>pip install mysqlclient

备注: 我是通过pycharm导入模块pymysql进行测试 。

3. 开始配置

各位先简单意淫下这种图,应该有个初步的认识。

  • 当一位屌丝打开浏览器访问某页面的时候 ,输入http://www.baidu.com,然后回车;

  • django后台urls就会匹配到链接,可以把urls看作是http链接,专业叫做路由;

    说明:不是我们攻城狮理解的路由协议哈。

  • urls匹配到了就会在View视图查找代码 ,然后做出响应;

    说明:view就是我们要写的python代码

  • template简单理解就是html页面模板;

  • Model简单理解数据库的一张表;

3.1 Django简单配置

3.1.1 创建一个工程(project)为devops:

# 先安装个tree软件包 [python@localhost ~]$ sudo yum install tree # 创建一个新的工程project (py369) [python@localhost Python]$ django-admin startproject devops (py369) [python@localhost Python]$ tree devops devops ├── devops │   ├── __init__.py │   ├── __pycache__ │   │   ├── __init__.cpython-36.pyc │   │   ├── settings.cpython-36.pyc │   │   ├── urls.cpython-36.pyc │   │   └── wsgi.cpython-36.pyc │   ├── settings.py │   ├── urls.py │   └── wsgi.py └── manage.py

3.1.2 通过PyCharm远程同步服务器代码

说明: pycharm将django项目下载到window电脑上进行编辑,然后再实时同步到CentOS上,pycharm编写代码方便 。

  1. 打开pycharm ,点击Tools->Deployment->Configuration

  1. 创建新的服务名,参考如下配置:

3)下载远端django的project:

4)修改自动同步配置,Tools->Deployment->Options

3.1.3 在pycharm上直接修改django的配置文件:

1)devops->devops->settings.py:

# 允许所有主机访问django ,星号表示所有主机 ALLOWED_HOSTS = ['*'] # 增加数据库信息 DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME':'devops',        'HOST':'192.168.8.131',        'USER':'root',        'PASSWORD':'root@123',        'PORT':3306,    } } #修改语言编码和时区 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'

2) 改完配置后,会自动同步到远程django那里。
摘取log部分:

2020/3/27 23:07] Automatic upload completed in 33 ms: 1 file transferred (103.6 kbit/s)

3.1.4 启动django服务

1)通过命令启动:python manage.py runserver 0.0.0.0:8888

(py369) [python@localhost devops]$ python manage.py runserver 0.0.0.0:8888 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). March 27, 2020 - 23:45:14 Django version 2.2, using settings 'devops.settings' Starting development server at http://0.0.0.0:8888/ Quit the server with CONTROL-C.

2)打开浏览器,输入http://192.168.8.130:8888

3)还可以进入后台权限管理系统 ,输入http://192.168.8.130:8888/admin

此时 ,还没有创建超级管理员用户和密码,不能够登陆。

4)接下来启动自带的APP admin

(py369) [python@localhost devops]$ python manage.py migrate

备注:此命令会把系统自带的admin app数据库写入到mysql中 。

5)登陆数据库mariadb,看是否正常写入

[root@localhost ~]# mysql -u root -pDevOps@2020 # 查看数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | ddjsdb             | | devops             | | devops01           | | mysql              | | performance_schema | | sys                | +--------------------+ 7 rows in set (0.73 sec) # 切换到数据库devops中 mysql> use devops   # 查看数据库devops中的表 ,已经成功写入了 mysql> show tables; +----------------------------+ | Tables_in_devops           | +----------------------------+ | auth_group                 | | auth_group_permissions     | | auth_permission            | | auth_user                  | | auth_user_groups           | | auth_user_user_permissions | | django_admin_log           | | django_content_type        | | django_migrations          | | django_session             | +----------------------------+ 10 rows in set (0.00 sec)

6)创建一个管理员用户

(py369) [python@localhost devops]$ python manage.py createcachetable # 依次输入用户名、邮箱地址 、密码

7)成功登陆后台管理系统

# 再次启动django (py369) [python@localhost devops]$ python manage.py runserver 0.0.0.0:8888

3.2 创建新的APP

3.2.1 创建新的app hello

(py369) [python@localhost devops]$ python manage.py startapp hello # 手工创建urls.py 文件 (py369) [python@localhost devops]$ touch hello/urls.py # 查看app hello 树结构 (py369) [python@localhost devops]$ tree hello hello ├── admin.py ├── apps.py ├── __init__.py ├── migrations │   └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py

3.2.2 pycharm同步下载远程hello目录

说明:方法同章节3.1.2一样。

3.2.3 修改django配置脚本

1) 修改devops->devops->setting.py配置

INSTALLED_APPS = [ ...此处已省略    'hello.apps.HelloConfig',     # 方式一:新增hello app信息    'hello',                      # 方式二:新增hello app信息 ]

2) 修改devops->hello->views.py配置

from django.shortcuts import render from django.http import HttpResponse def index(request):    return HttpResponse('<p>hello django</p>')

3) 修改devops->hello->urls.py配置

from django.urls import path from . import views urlpatterns = [    path('hello/', views.index, name='index'), ]

4)最后修改devops->devops->urls.py配置

说明: 此urls.py为根路由入口(即总入口)。

第一种静态路由urls演示方法:

from hello import views urlpatterns = [    path('admin/', admin.site.urls),  # 缺省    path('hello/', views.index),      # 新增 ]

登陆浏览器,输入http://192.168.8.130:8888/hello/,效果如下:

第二种静态路由urls演示方法:

from django.urls import path,include  # 新增,导入include模块 urlpatterns = [    path('admin/', admin.site.urls),  # 缺省    path('hello/', include('hello.urls')),  # 新增 ]

登陆浏览器 ,输入http://192.168.8.130:8888/hello/hello,效果如下:

文章来源于网络,如有侵权请联系站长QQ61910465删除

本文版权归趣快排营销www.SEOguruBLOG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ㊣61910465