web应用框架——当python3.5和python3.7同时存
一.Python3.5
对于python3.5来说,我之前一直给大家演示的时候用的是3.7版本的,后来直接就不好使了,我就配了3.5版本的,所以除第一章笔记以外,剩下的都是3.5版本这边我们就不再多说,那么我们开始配3.7版本的环境
二.Python3.7
配之前先祈祷一切好使(双手合十)
链接:https://pan.baidu.com/s/1mPC8yIBPguJpu-TkP3zWSw
提取码:31wj
python3.7版本链接
那么让我们开始安装吧~
安装完配置环境变量巴拉巴拉
可是我一看还是3.5版本的,怎么办呢
- 让我们找到3.7版本的目录:
C:\Users\LENOVO\AppData\Local\Programs\Python\Python37
-
让我们在命令行进入到这个目录下:
-
在这个目录下运行python
这样就是3.7版本的了
如果出现这种情况,很可能是环境变量位置的问题,可以将3.5和3.7版本的环境变量位置调换一下,这样应该也会解决环境变量版本问题~
接下来的操作让我们在这个环境下运行!
1.创建镜像拉取
我们进入到自己电脑的C:\Users\LENOVO目录下
新建一个pip文件夹,然后将链接里面的文件拖入到文件夹内
链接:https://pan.baidu.com/s/1tT-9H8HzfviIkgfKh_ZJ0g
提取码:bmrx
-
实验成功
随便安装个插件,有这个链接就是成功了
- 让我们新创建虚拟环境
-
mkvirtualenv -p python3 py_django37
但是在给的提示信息来看,我们所创建的虚拟环境还是3.5版本的,那么我们先继续
-
然后新建Pycharm的Django文件
如果你像我这种情况,那么你可以在这里选3.7的环境(记得看好目录)是3.7版本下的python.exe文件
-
如果你直接就显示3.7版本了在查看python 环境的时候:
(因为我的是3.5所以显示的3.5,你们到时候会显示3.7)
-
查看各个版本(pip list)
因为python3.7不支持Django3.0.5所以我们卸载
-
卸载(pip uninstall django)
-
让我们安装Django2.2版本吧
(pip install django==2.2)
-
注册app
这里面的注册和我们之前的注册不太一样,他的是这种形式
而且也多出来了一个app.py文件
-
新建一个apps的python包,我们将所有的app都放入到这里面,将message_form也拖到这里面
我们会发现,它会自动将注册的路径进行修改
-
查看路径
在django2.2版本种,路径的写法也和之前的不同
-
运行
点击运行的时候,输入网址http://127.0.0.1:8000/
这个界面也和3.0.2的版本不一样
1.设置超级用户
- 我们点击Tools——>Run manage.py Task...
-
快捷键(CTRL+ALT+R)
下方出现输入界面:
- 让我们先配置一下数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'message', #数据库名字,
'USER': 'root', #数据库登录用户名
'PASSWORD': 'root', #数据库登录密码
'HOST': 'localhost', #数据库所在主机
'PORT': '3306', #数据库端口
}
}
将Message中的settings.py文件中的这些,用上方代码进行替换:
-
安装pymysql
(pip install pymysql)
- 打开Message文件的init.py文件,加入下面代码:
import pymysql
pymysql.install_as_MySQLdb()
-
让我们安装mysqlclient(pip install mysqlclient)
-
让我们新建一个数据库
-
迁移数据库(makemigrations)
我们是在刚刚新打开的命令行界面进行的迁移数据库!!!
-
迁移数据库(migrate)
-
查看数据库
- 登陆超级管理员界面:http://127.0.0.1:8000/admin/
-
创建超级用户
在我们新创建的那个输入命令行中输入createsuperuser,设置好名字,邮箱,密码
-
刷新用户界面
输入刚刚设置的用户名和密码,就可以登陆管理界面了
留言板示例:
- 打开Message中的urls.py文件,配置路由
from django.contrib import admin
from django.urls import path
from apps.message_form import views
urlpatterns = [
path('admin/', admin.site.urls),
path('message_form/', views.message_form),
]
- 打开message_form文件下的views.py文件
from django.shortcuts import render
# Create your views here.
def message_form(request):
return render(request,'message_form.html')
- 我们在templats目录下新建一个message_form.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<form action="/message_form/" method="post" class="smart-green">
{% csrf_token %}
<h1>留言信息
<span>请留下你的信息.</span>
</h1>
<label>
<span>姓名 :</span>
<input id="name" type="text" name="name" value="{{ message.name }}" class="error" placeholder="请输入您的姓名"/>
<div class="error-msg"></div>
</label>
<label>
<span>邮箱 :</span>
<input id="email" type="email" value="{{ message.email }}" name="email" placeholder="请输入邮箱地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>联系地址 :</span>
<input id="address" type="text" value="{{ message.address }}" name="address" placeholder="请输入联系地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>留言 :</span>
<textarea id="message" name="message" placeholder="请输入你的建议">{{ message.message }}</textarea>
<div class="error-msg"></div>
</label>
<div class="success-msg"></div>
<label>
<span> </span>
<input type="submit" class="button" value="提交"/>
</label>
</form>
</body>
</html>
-
我们在Message目录下新建一个static文件,在这个下面建立一个css文件,在css文件中创建一个style.css文件
我们在style.css文件中写样式:
.smart-green {
margin-left: auto;
margin-right: auto;
max-width: 500px;
background: #F8F8F8;
padding: 30px 30px 20px 30px;
font: 12px Arial, Helvetica, sans-serif;
color: #666;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
.smart-green h1 {
font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
padding: 20px 0px 20px 40px;
display: block;
margin: -30px -30px 10px -30px;
color: #FFF;
background: #9DC45F;
text-shadow: 1px 1px 1px #949494;
border-radius: 5px 5px 0px 0px;
-webkit-border-radius: 5px 5px 0px 0px;
-moz-border-radius: 5px 5px 0px 0px;
border-bottom: 1px solid #89AF4C;
}
.smart-green h1 > span {
display: block;
font-size: 11px;
color: #FFF;
}
.smart-green label {
display: block;
margin: 0px 0px 5px;
}
.smart-green label > span {
float: left;
margin-top: 10px;
color: #5E5E5E;
}
.smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
color: #555;
height: 30px;
line-height: 15px;
width: 100%;
padding: 0px 0px 0px 10px;
margin-top: 2px;
border: 1px solid #E5E5E5;
background: #FBFBFB;
outline: 0;
-webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
font: normal 14px/14px Arial, Helvetica, sans-serif;
}
.smart-green textarea {
height: 100px;
padding-top: 10px;
}
.smart-green .button {
background-color: #9DC45F;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-border-radius: 5px;
border: none;
padding: 10px 25px 10px 25px;
color: #FFF;
text-shadow: 1px 1px 1px #949494;
}
.smart-green .button:hover {
background-color: #80A24A;
}
.error-msg {
color: red;
margin-top: 10px;
}
.success-msg {
color: #80A24A;
margin-top: 10px;
margin-bottom: 10px;
}
记得格式化一下文件
- 我们打开Message文件夹下的settings.py文件
在最后面添加:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
- 让我们运行一下:
输入网址:
http://127.0.0.1:8000/message_form/
这样页面就显示出来了 - 建立模型类
打开message_form文件夹下的models.py文件
from django.db import models
# Create your models here.
class Message(models.Model):
name = models.CharField(max_length=20,verbose_name="姓名")
email = models.EmailField(verbose_name="邮箱")
address = models.CharField(max_length=20,verbose_name="联系电话")
message = models.TextField(verbose_name="留言信息")
class Meta:
verbose_name="留言信息"
verbose_name_plural=verbose_name
db_table = "messag
-
迁移数据库
(makemigrations message_form)
(migrate message_form)
-
刷新表,出现message表
- 我们开始写Message文件夹下的views.py文件
from django.shortcuts import render
from apps.message_form.models import Message
# Create your views here.
from django.shortcuts import render
from apps.message_form.models import Message
# Create your views here.
def mesage_form(request):
if request.method == 'POST':
# 把表单内容填写到数据库中
message = Message()
message.name = request.POST.get('name')
message.email = request.POST.get('email')
message.address = request.POST.get('address')
message.message = request.POST.get('message')
message.save()
return render(request, 'message_form.html',{'message':message})
if request.method == 'GET':
message_all = Message.objects.all()
if message_all:
message =message_all[0]
return render(request, 'message_form.html',{'message':message})
-
这时候我们像数据库中插入数据:
- 刷新页面:http://127.0.0.1:8000/message_form/
留言就在页面上啦~ -
我们将页面的数据删除,然后重新输入一条数据
-
我们刷新数据库:
这样数据就传上去啦
(此文章仅作为个人学习笔记使用,如有错误欢迎指正~)