Python---django轻量级框架
Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
- M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
- C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。
- V——负责把数据格式化后呈现给用户。
Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:
- M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
- T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
- V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。
django安装
使用pip来安装,命令如下
Pip3 install Django
检查是否安装成功的命令:
网站:Django(重量级网页框架)、Flask(轻量级网页框架)等。
1. 创建django程序
终端命令:django-admin startproject sitename (在当前目录下创建一个Django程序)
IDE创建Django程序时,本质上都是自动执行上述命令
使用pycharm创建django程序
在pycharm中新建Django工程,注意使用虚拟环境
常用命令:
python manage.py runserver localhost:8000
ip:port (启动服务器,默认ip和端口为http://127.0.0.1:8000/)
python manage.py startapp appname (新建 app)
python manage.py makemigrations (显示并记录所有数据的改动)
python manage.py migrate (将改动更新到数据库)
python manage.py createsuperuser (创建超级管理员)
python manage.py dbshell (数据库命令行)
python manage.py (查看命令列表)
1# MySQL的配置
数据库
- settings.py文件
- DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 注意最后是mysql
'NAME': 'mooc', # 注意这里的数据库应该以utf-8编码
'USER': 'root',
'PASSWORD': '123',
'HOST': 'localhost',
'PORT': '3306',
}
}
由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替
- DATABASES = {
2如下设置放置的与project同名的配置的 __init__.py文件中
import pymysql
pymysql.install_as_MySQLdb()
3使用python manage.py runserver localhost:8000检测服务器是否正常启动,下图已经启动成功
打开pycharm的Terminal,进入该工程的目录新建一个django工程
4python3 manage.py startapp myapp(里面文件自动生成)
5新建俩html
index
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- 已经跳转到index页面
- </body>
- </html>
login.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <form action="" method="post">
- {% csrf_token %} <!--每次提交生成唯一代码(安全校验)-->
- 用户名:<input type="text" name="username"><br>
- 密 码:<input type="text" name="password"><br>
- <input type="submit" value="提交">
- </form>
- </body>
- </html>
6settings.py注册
7urls.py添加 url("login/", views.login)
- urlpatterns = [
path('admin/', admin.site.urls),
url("login/", views.login)
]
- models.py
- from django.db import models
- # Create your models here.
- class User(models.Model):
- username = models.CharField(max_length=30,null=False)
- password = models.CharField(max_length=30,null=False)
- class Meta():
- db_table='users' # 数据表名
8在views.py添加
- from django.shortcuts import render
- # Create your views here.
- # 请求转发
- from myapp import models
- def login(request):
- if request.method == "GET":
- return render(request, "login.html")
- if request.method == "POST":
- user = request.POST.get("username")
- pwd = request.POST.get("password")
- if models.User.objects.filter(username=user,password=pwd):
- return render(request, "index.html")
- else:
- return render(request, "login.html")
正确输入网址
Python---django轻量级框架的更多相关文章
- Python+Django+Bootstrap 框架环境搭建
1.安装python和pip(python.pip安装自行百度,pip是一个安装和管理 Python 包的工具) 2.配置python环境变量(python和scripts目录都需要配置) 3.安装D ...
- python + flask轻量级框架
from flask import Flask,jsonify,make_response,abort,Response,request from flask_restful import Api,R ...
- python django 多级业务树形结构规划及页面渲染
概述: 在项目中,父级到子级结构并不少见,如果仅仅的两层树形结构,我们可以使用数据库的外键设计轻松做到,子级业务表设计一字段外键到父级业务表,这样子到父.父到子的查询都非常简单. 但是往往父子结构会有 ...
- Python Django(WEB电商项目构建)
(坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- Python之Web框架Django
Python之Web框架: Django 一. Django Django是一个卓越的新一代Web框架 Django的处理流程 1. 下载地址 Python 下载地址:https://www.pyt ...
- Django视频教程 - 基于Python的Web框架(全13集)
Django是由Python驱动的开源模型-视图-控制器(MVC)风格的Web应用程序框架,使用Django可以在即可分钟内快速开发一个高品质易维护数据库驱动的应用程序.下面是一大坨关于Django应 ...
- Python3.5学习十八 Python之Web框架 Django
Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...
- 在IIS上部署基于django WEB框架的python网站应用
django是一款基于python语言的WEB开源框架,本文给出了如何将基于django写的python网站部署到window的IIS上. 笔者的运行环境: Window xp sp3 IIS 5.1 ...
- [Python] Django框架入门
说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...
随机推荐
- 51nod 1031 骨牌覆盖
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 在2*N的一个长方形方格中,用一个1*2的骨牌排满方格. 问有多少种不同的排列方法. 例如: ...
- 如何修改开发板主频--迅为iMX6UL开发板
平台:iMX6UL开发板 iMX6UL开发板 可以在文件系统中通过命令修改 CPU 运行的主频.如下图所示,使用命令“cat /sys/devices/system/cpu/cpu ...
- (转)SpringMVC学习(八)——SpringMVC中的异常处理器
http://blog.csdn.net/yerenyuan_pku/article/details/72511891 SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常 ...
- less算宽度 加~ width: calc(~"50% - 35px");
less算宽度 加~ width: calc(~"50% - 35px");
- mkdir与makedirs
mkdir创建的是一级目录 makedirs可以创建多级目录 mkdir -p可以递归创建目录
- vc++创建多线程应用
构建线程参数结构体: typedef struct { int nIndex; HANDLE hThread; int param1; ... }ThreadParam; 创建线程数组: Thread ...
- ios之UITableView
今天要分享的是IOS开发中一个使用率非常高的一个控件-------UITableView,这两天正在使用tableview做信息的显示,在写代码时对tableview和tableviewcell的几种 ...
- 将中文库导入到ARM板子中以解决中文显示乱码的教程
1.将中文字符集导入到ARM板子中的/usr/fonts/目录下 在这里我们使用的字符集为:DroidSansFallback.ttf 下载地址为:https://pan.baidu.com/s/1e ...
- 小程序之Button组件,函数的调用与简单的逻辑
我们要实现一个简单的功能,在界面上放置一张图片,设置重新加载按钮,能更新图片. WXML代码: <!--index.wxml--> <view clas="index&qu ...
- SecureCRT 64位 破解版v8.1.4
http://www.xue51.com/soft/1510.html#xzdz securecrt 破解版是一款支持SSH1和SSH2的终端仿真程序,这个程序能够在windows系统中登陆UNIX或 ...