美文网首页
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同时存

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