美文网首页
web应用框架——当python3.5和python3.7同时存

web应用框架——当python3.5和python3.7同时存

作者: 思君_4cd3 | 来源:发表于2020-04-24 16:29 被阅读0次

一.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>&nbsp;</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'),
]
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/

    留言就在页面上啦~
  • 我们将页面的数据删除,然后重新输入一条数据


  • 我们刷新数据库:



    这样数据就传上去啦
    (此文章仅作为个人学习笔记使用,如有错误欢迎指正~)

相关文章

  • web应用框架——当python3.5和python3.7同时存

    一.Python3.5 对于python3.5来说,我之前一直给大家演示的时候用的是3.7版本的,后来直接就不好使...

  • 为什么我们擅长模仿而不善于创造

    ps: 最近在写Web框架,同时也在用ReactNative写一个OS X桌面应用。突然发现不管是框架,还是应用,...

  • 【高级特性】53、Web服务框架(Flask)

    目录一、Web应用二、框架的基本概念三、Flask框架四、表单插件Flask-WTF 一、Web应用 Web应用已...

  • mongodb(入门)

    1.express node Web应用框架,提供了很多Web应用和HTTP工具 使用express可以快速搭建一...

  • mongodb(入门)

    1.express node Web应用框架,提供了很多Web应用和HTTP工具 使用express可以快速搭建一...

  • nodejs(5)

    express node web应用框架,提供了很多web应用和HTTP工具 使用express可以快速搭建一个完...

  • 2019-04-07

    Anaconda默认python3.7下安装python3.5 1、运行Anaconda cmd命令窗口 2、将清...

  • 2019-04-07

    Anaconda默认python3.7下安装python3.5 1、运行Anaconda cmd命令窗口 2、将清...

  • 通过几道CTF题学习yii2框架

    简介 Yii是一套基于组件、用于开发大型 Web 应用的高性能 PHP 框架,Yii2 2.0.38 之前的版本存...

  • [译]什么是 web 框架?

    本文系转载于网络。 Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式。从简单的...

网友评论

      本文标题:web应用框架——当python3.5和python3.7同时存

      本文链接:https://www.haomeiwen.com/subject/lqxfwhtx.html