专栏首页IT测试前沿Python 3.7 + Django 2.2.5 Web项目搭建

Python 3.7 + Django 2.2.5 Web项目搭建

一、前言

Django 是一个开放源代码的 Web 应用框架,由 Python 编写。采用了 MTV 的框架模式,即模型 M,模板 T 和视图 V。当然,网上也有人说 Django 采用了 MVC 的软件设计模式,即模型 M,视图 V 和控制器 C。由于我也是刚开始接触 Python Web,不好给大家解释其中的区别,给大家推荐一篇文章:

## 理解django框架中的MTV与MVC模式    
https://www.cnblogs.com/YeChing/p/6339969.html

前段时间一直在用 Python 练习爬虫,忽然想学学 Python Web,感觉 Django 这个 Web 框架很不错,学了几天,做一个 Demo 来记录一下。供读者作为参考,作为 Django 入门学习。还请各位同学多多指教,如发现问题提出来,大家互相改进,互相提升。

二、开发环境

我的 Python 和 Django 版本:

  1. Python 3.7(你需要Python3及以上)
  2. Django 2.2.5(你需要Django2.0及以上)

Python 安装

Python 官网 Windows 版本可能下载速度有点慢,慢慢等。不推荐安装最新版,坑多。

# 命令提示符中输入 python,查看已经安装的 python 版本
python

Django 安装

安装最新版的 Django 版本

# 安装最新版本的 Django
pip install django
# 或者指定安装版本
pip install django == 2.2.5

查看 Django 是否已经成功安装:

#查看 Django 版本
python -m django --version

到目前为止,基本环境已经搭建好了.

Python 和 Django 版本对应表

Django version

Python versions

1.8

2.7, 3.2, 3.3, 3.4, 3.5

1.9, 1.10

2.7, 3.4, 3.5

1.11

2.7, 3.4, 3.5, 3.6

2.0

3.5+

三、步骤详解

3.1 创建项目

django-admin startproject mysite_login

3.2 设置时区和语言

Django默认使用美国时间和英语,在项目的settings文件中,如下所示:

LANGUAGE_CODE = 'en-us'
 
TIME_ZONE = 'UTC'
 
USE_I18N = True
 
USE_L10N = True
 
USE_TZ = True

我们把它改为 亚洲/上海时间 和 中文

LANGUAGE_CODE = 'zh-hans'
 
TIME_ZONE = 'Asia/Shanghai'
 
USE_I18N = True
 
USE_L10N = True
 
USE_TZ = False

3.3 启动 Django 服务

python manage.py runserver

现在,Web 服务器已经成功启动,打开浏览器,在地址栏中输入

http://127.0.0.1:8000/

“127.0.0.1” 是指本地主机,8000 是默认的服务端口,可修改。也可以在地址栏输入 localhost:8000 访问项目。

3.4 创建 Django APP

在 Django 中的 APP 相当于一个功能模块,与其他的 Web 框架可能有很大的区别,将不同功能放在不同的 APP 中,方便代码的复用。

python manage.py startapp login

3.5 新建模板文件夹存放网页

在 login 目录下创建一个 templates 文件夹,并在该文件夹中创建一个 hello.html 文件,用于展示的网页内容。

index.html 文件内容如下(直接复制粘贴到你的 index.html 文件中即可):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Hello,Django!</title>
  <style type="text/css">
    html {
      width: 100%;
      height: 100%;
      overflow: hidden;
      font-style: sans-serif;
    }    
    body {
      width: 100%;
      height: 100%;
      font-family: 'Open Sans', sans-serif;
      margin: 0;
      background-color: #FF8080;
    }
    #login {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -150px 0 0 -150px;
      width: 300px;
      height: 300px;
    }
    #login h1 {
      color: #fff;
      text-shadow: 0 0 10px;
      letter-spacing: 1px;
      text-align: center;
    }
    h1 {
      font-size: 2em;
      margin: 0.67em 0;
    }
    input {
      width: 278px;
      height: 18px;
      margin-bottom: 10px;
      outline: none;
      padding: 10px;
      font-size: 13px;
      color: #fff;
      text-shadow: 1px 1px 1px;
      border-top: 1px solid #312E3D;
      border-left: 1px solid #312E3D;
      border-right: 1px solid #312E3D;
      border-bottom: 1px solid #56536A;
      border-radius: 4px;
      background-color: #2D2D3F;
    }
    .but {
      width: 300px;
      min-height: 20px;
      display: block;
      background-color: #4a77d4;
      border: 1px solid #3762bc;
      color: #fff;
      padding: 9px 14px;
      font-size: 15px;
      line-height: normal;
      border-radius: 5px;
      margin: 0;
    }
</style>
</head>
<body>
  <div id="login">
    <h1>Hello,My First Django!</h1>
  </div>
</body>
</html>

3.6 添加新建的APP

在 mysite_login/mysite_login/settings.py 文件,INSTALLED_APP 下 , 添加以下代码:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'login',  # 在这里添加这一行代码
]

3.7 配置视图函数

在 mysite_login/login/views.py 文件,添加以下代码:

from django.shortcuts import render
# Create your views here.
# 添加 hello 函数,返回 hello.html 页面
def hello(request):
    return render(request, 'hello.html')

3.8 添加路由

在 mysite_login/mysite_login/urls.py 文件,添加以下代码:

from django.contrib import admin
from django.urls import path
from login import views # 在这里添加这一行代码,导入 views
urlpatterns = [
    path('/admin/', admin.site.urls),
    path('', views.hello),    # 在这里添加这一行代码,这是我们上一步编写的视图函数的路由,默认是 / 路径
]

3.9 重启服务查看

完成以上步骤后,在命令行执行 python manage.py runserver 启动 Django 的 Web 服务器,在浏览器中访问 127.0.0.1:8000

四、总结

django-admin.py startproject myweb   #创建项目
python manage.py startapp myapp   #创建 app
python manage.py runserver   #启动 Django 中的开发服务器
python manage.py -h   #帮助文档
python manage.py <command> [options] #Django 命令

本文分享自微信公众号 - IT测试前沿(gh_a3e0fe8fdded),作者:Alon

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Mysql存储过程造百万级测试数据

    创建一张表以存放测试数据,该表包含四个字段:唯一自增量的主键id、姓名name、手机号mobile、身份证号idcode。

    muntainyang
  • Python 3.7 自动化接口测试简单实例

    本篇主要根据实际业务,在本地简单实现了读取测试数据,执行自动化接口测试,写入结果数据。

    muntainyang
  • LR报错分析(-)

    1、Error -27727:Step download  timeout (120 seconds)has expired when downloading ...

    muntainyang
  • Anaconda的使用-Spyder快捷键大全

    统计学家
  • Confluence 6 移动浏览搜索内容和人

    来在页面的左侧打开菜单的面板。然后在 搜索(Search) 对话框输入文本或者用户的名字。移动界面提供快速搜索功能,这个意思是搜索只能返回最符合搜索内容的标题。...

    HoneyMoose
  • GitStats - Git 历史统计信息工具

    如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情...

    Peter Shen
  • 如何检测并移除WMI持久化后门?

    Windows Management Instrumentation(WMI)事件订阅,是一种常被攻击者利用来在端点上建立持久性的技术。因此,我决定花一些时间研...

    FB客服
  • WMI技术介绍和应用——WMI概述

            今天,我要开始一系列关于微软WMI技术的介绍。通过之后若干节的介绍,我想WMI技术将为在windows平台上从事开发的朋友开启另外一扇窗。(转载...

    方亮
  • WMI ——重写版

    本文是以WMI的重写版,本来这份笔记会更长,原版的笔记以Black Hat 2015的Abusing Windows Management Instrument...

    Ms08067安全实验室
  • 安装Logstash

    Logstash 是一个功能强大的工具,可与各种部署集成。 它提供了大量插件,可帮助您解析,丰富,转换和缓冲来自各种来源的数据。

    HLee

扫码关注云+社区

领取腾讯云代金券