码好python的每一篇文章.


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

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

1. 环境准备

序号 IP地址 操作系统 安装软件 备注
1 192.168.8.130 CentOS 7.6.1810 python3.6+django2.2 都运行在虚拟环境
2 192.168.8.131 CentOS 7.6.1810 mysql mysql数据
3 192.168.8.1 windows 10 PyCharm 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映射,可以上互联网)

# 安装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,效果如下:


如果喜欢的我的文章,欢迎关注我的公众号:点滴技术,扫码关注,不定期分享

Django安装与简单配置(1)的更多相关文章

  1. docker的安装和简单配置

    docker的安装和简单配置 docker是balabalabala...懒得介绍. 国内安装docker很蛋疼,按照官方配置好了软件源之后,几十MB的安装文件下载要半天,没办法,docker默认的软 ...

  2. <转载> FreeNAS的安装和简单配置 http://freenas.cn/?p=342

    前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠 ...

  3. Keepalived 安装与简单配置

    Keepalived 安装与简单配置 http://sivxy.lofter.com/post/1d21ebb9_7e15000

  4. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  5. Manjaro安装后简单配置

    一个相见恨晚的 Linux 操作系统 Manjaro 到底有多受欢迎? DistroWatch是一个包含了各种Linux发行版及其他自由/开放源代码的类Unix操作系统. (如OpenSolaris. ...

  6. lnmp源码安装以及简单配置

    nginx 软件: a: openssl-1.0.1r.tar.gz tar zxf openssl-1.0.1r.tar.gz b: pcre-8.32.tar.gz tar zxf openssl ...

  7. python的IDE(pycharm)安装以及简单配置

    使用IDE的好处 界面更友好,看起来更舒服 智能提示功能很赞,大大提高开发效率 pycharm的安装过程 去pycharm官网下载安装包,请下载专业版,建议不要去网上下载汉化版 点击安装包一直下一步即 ...

  8. Ikuai路由安装及简单配置 v1.0

    第一部分:创建虚拟机: 1.点击创建新的虚拟机   2.选择自定义模式创建(选择经典模式会更友好一些),然后点击下一步 3.下图内容不用管,直接点击下一步:   4.这里是选择安装系统路径.在这里我们 ...

  9. ESLint系列:ESLint入门安装及简单配置

    1.eslint需要依赖node.js环境,在配置之前需要安装好node.js; 2.npm install eslint --save-dev 或 npm install eslint --save ...

随机推荐

  1. 【面试篇】寒冬求职之你必须要懂的Web安全

    https://segmentfault.com/a/1190000019158228 随着互联网的发展,各种Web应用变得越来越复杂,满足了用户的各种需求的同时,各种网络安全问题也接踵而至.作为前端 ...

  2. 3、尚硅谷_SSM高级整合_使用ajax操作实现增加员工的功能

    20.尚硅谷_SSM高级整合_新增_创建员工新增的模态框.avi 1.接下来当我们点击增加按钮的时候会弹出一个员工信息的对话框 知识点1:当点击新增的时候会弹出一个bootstrap的一个模态对话框 ...

  3. Typora及Markdown的介绍及使用

    Typora及Markdown的介绍及使用 Typora是一款免费的Markdown编辑器,Typora不像其他Markdown编辑器一样使用一边代码一边预览的方式,而是写完代码之后直接出效果,所见即 ...

  4. 怎么更改maven工程jdk版本(默为1.5,怎么更改jdk版本为1.8)

    使用maven 创建工程更改默认jdk版本(1.5)方法 step1: 找到自己项目的pom.xml文件,添加下图黄色区域代码(文末附上的有代码:可以直接复制) step2: 保存一下更改后的的pom ...

  5. xeus-clickhouse: Jupyter 的 ClickHouse 内核

    在科学计算领域,Jupyter 是一个使用非常广泛的集成开发环境,它支持多种主流的编程语言比如 Python, C++, R 或者 Julia.同时,数据科学最重要的还是数据,而 SQL 是操作数据最 ...

  6. 51单片机入门1--与C语言的交接

    我们即将进入51单片机的编程学习,咱们今天就来讲解一下单片机中的C语言(你可以称作C51) 在说编程之前,要先说一些别的东西: 二进制,八进制,十六进制 二进制中只有数字0和1,在二进制中1+1为10 ...

  7. SELinux已经允许,为什么日志显示的仍然是denied?

    从日志可以看到,SELinux的Mode已经修改位了permissive = 1,也就是允许模式,但它前面的日志仍然显示的是“denied".本来我还以为是自己哪里没弄好导致的这个问题,但访 ...

  8. Java源码详解系列(十)--全面分析mybatis的使用、源码和代码生成器(总计5篇博客)

    简介 Mybatis 是一个持久层框架,它对 JDBC 进行了高级封装,使我们的代码中不会出现任何的 JDBC 代码,另外,它还通过 xml 或注解的方式将 sql 从 DAO/Repository ...

  9. AMAP-TECH算法大赛开赛!基于车载视频图像的动态路况分析

    阿里巴巴高德地图AMAP-TECH算法大赛于7月8日开启初赛,赛题为「基于车载视频图像的动态路况分析」,活动邀请了业界权威专家担任评委,优秀选手不仅可以瓜分丰厚的奖金,领取荣誉证书,还有机会进入高德地 ...

  10. 自定义Mybatis自动生成代码规则

    前言 大家都清楚mybatis-generate-core 这个工程提供了获取表信息到生成model.dao.xml这三层代码的一个实现,但是这往往有一个痛点,比如需求来了,某个表需要增加字段,肯定需 ...