一、前言
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 版本:
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
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
python manage.py runserver
http://127.0.0.1:8000/
在 Django 中的 APP 相当于一个功能模块,与其他的 Web 框架可能有很大的区别,将不同功能放在不同的 APP 中,方便代码的复用。
python manage.py startapp login
在 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>
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'login', # 在这里添加这一行代码 ]
from django.shortcuts import render # Create your views here. # 添加 hello 函数,返回 hello.html 页面 def hello(request): return render(request, 'hello.html')
在 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), # 在这里添加这一行代码,这是我们上一步编写的视图函数的路由,默认是 / 路径 ]
完成以上步骤后,在命令行执行 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
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句