1、Django: Python Web应用开发框架,Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
2、Flask:轻量级Web应用框架,也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
3、Web2py:全栈式Web框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容Google App Engine。
4、Dpark:是Spark的Python克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。
5、Tornado:异步非阻塞IO的Python Web框架,高并发处理框架。
6、Twisted:是用Python实现的基于事件驱动的网络引擎框架,Twisted支持许多常见的传输及应用层协议,Twisted对于其支持的所有协议都带有客户端和服务器实现,同时附带有基于命令行的工具,使得配置和部署产品级的Twisted应用变得非常方便。
7、Scrapy:Python的爬虫框架,轻量级的,简单轻巧,并且使用起来非常的方便。
二、Django项目创建步骤
1、选择工具
选择适合自己的Python版本(最新为Python3.7),以及开发工具(如,pycharm等),再安装合适的Django版本(最新为Django2.2)。
2、创建Django项目,设置虚拟环境
虚拟环境的创建,目的是存储该项目运行所需环境,以及保证该项目的运行不会受到其他项目和其他版本的包的影响。
3、配置数据库
3.1 配置数据库
(1)使用MySQL数据库,在setting.py文件中配置,这种方法需要引下载PyMySQL包
下载PyMySQL包,File -> setting -> 项目名 -> Probject Interpreter,如下图即可:
setting.py初始设置:
配置后:
(2)使用Django自带的sqlite3数据库,使用默认配置即可
3.2 引入PyMySQL
在项目文件夹下面的__init__.py文件中引入。
4、启动服务
(1)在 Terminal 输入python maange.py runserver 127.0.0.1:8000,即可运行项目;
(2)设置manage.py的Parameters:runserver 127.0.0.1:8000,在run manage.py即可运行项目。
5、创建应用(app)
app是根据项目所需的模块进行创建,如创建一个用户app,用来管理用户等,步骤如下:
(1)在 Terminal 中输入python manage.py startapp app名称,如,userapp,就会生成userapp文件夹,以及相应配置文件,如下图;
(2)在setting.py中引入userapp,每创建一个app,这里都需要引入。
6、创建模型
6.1 创建模型类
Django框架提供了ORM框架,可以根据代码自动生成数据表,创建模型类,为生成数据表做准备。
from django.db import models
# Create your models here.
class UsersInfo(models.Model):
username = models.CharField(max_length=20)
password = models.CharField(max_length=20)
gender = models.BooleanField(default=True)
#...(根据项目需要,设置属性)
6.2 执行迁移,生成数据表
(1)在 Terminal 中输入python manage.py makemigrations ,生成迁移文件;
(2)在 Terminal 中输入python manage.py migrate ,执行迁移,生成数据表;
7、后台管理页面
7.1 创建管理员
在 Terminal 中输入python manage.py createsuperuser ,创建管理员,输入网址:127.0.0.1:8000/admin ,进入管理员页面。
7.2 注册模型类
在admin.py 中注册模型类,即可在后台管理页面显示相应的数据列表。
from django.contrib import admin
from userapp.models import UsersInfo class UsersInfoAdmin(admin.ModelAdmin):
list_display = ['username', 'password', 'gender'] #设置列表要显示的属性 admin.site.register(UsersInfo,UsersInfoAdmin)
效果如下:
三、总结及安排
1、学习了Django项目的创建,及简单的增删改查,但是还不熟练;
2、接下来将学习及搞懂增删改查,以及Django自带的前后端交互;
3、学习Django+Ajax,尝试Django后端与微信小程序的数据交互。
2019-04-28——Django学习的更多相关文章
-
AI2(App Inventor 2)离线版服务器(2019.04.28更新)
我们的目标:搭建一个本地多用户的App Inventor 2 服务器 演示: http://ai2.fsyz.net [旧 win] http://ai2n.fsyz.net [新 Ce ...
-
[2019.04.01]Linux 学习心得(2)-- tar 命令的理解
这篇文章并不是发布最早的但是阅读量却每天都见长,很想知道各位大大是怎么找到这篇文章的.如果不忙,还请各位大大评论一下我看看,没准我可以为大家改进一下本文,提升一下质量. =============== ...
-
Python框架之Django学习
当前标签: Django Python框架之Django学习笔记(十四) 尛鱼 2014-10-12 13:55 阅读:173 评论:0 Python框架之Django学习笔记(十三) 尛 ...
-
Django学习(4)表单,让数据库更美好
表单,在HTML中的标签为<form></form>,在网页中主要负责数据采集功能.我们在浏览网站时,常常会碰到注册账号.账号登录等,这就是表单的典型应用. 在Django学习 ...
-
Alpha冲刺(5/10)——2019.4.28
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(5/10)--2019.4.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
-
Django学习系列3:创建仓库
在创建仓库之前,在项目superlists中新建一个Python文件,命名为functional_tests.py,里面的内容如下: # File: functional_test.py # Auth ...
-
Django学习之路由分发和反向解析
原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目 ...
-
Django 学习笔记1-- URLconf
今天好像巴黎有点乱,希望明天太阳还会照常升起. 简介 Django 是一个由 Python 编写.开源并采用经典的 MVC 设计模式的 Web Full Stack 应用框架. 在 Django 中, ...
-
2014.04.28基于CPLD的LCOS场序彩色视频控制器设计
基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. ...
-
今天主要推荐一下django学习的网址!
前言:每个月忙碌的头20天后,在上班时间投入到django理论学习的过程中,花了差不多3天时间简单的研究了一下django,着实废了我不少脑细胞. 采用虫师前辈的一张图和话: 如果你把这过程梳理清晰了 ...
随机推荐
-
win7中VS2010中安装CSS3.0问题解决方法
win7中VS2010中安装CSS3.0问题解决方法 在安装Standards Update for VS2010 SP1后,VS2010中没有CSS3.0问题,以下是我的解决方法 1.首先去官网 ...
-
c# 访问SQL Server 其他会话正在使用事务的上下文
这个异常是我第二次遇到! 从网上查找资料后知道了是由于数据库链接字符串是远程链接造成的,去掉链接服务器地址就行了,换成普通的链接字符串就可以了
-
【USACO 2012 Open】Running Laps(树状数组)
53 奶牛赛跑 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑,奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L 圈之后,比 ...
-
ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase
原文地址:http://www.51csharp.com/MVC/882.html ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL 引言-- 在初级篇中,我们 ...
-
hdu3452 无向树去掉最小的边集使不论什么叶子与根不连通 / 最小割
思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割就可以.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<qu ...
-
leetcode第19题--Remove Nth Node From End of List
Problem: Given a linked list, remove the nth node from the end of list and return its head. For exam ...
-
ubuntu18.04使用SPFlashTool提示缺少libpng12.so.0
Ubuntu libpng12无法安装解决 Ubuntu 14以上就已经不再支持libpng12,然而有些软件又依赖于libpng12(如我要使用的Cisco Packet Tracer).我们可以采 ...
-
Spring-day02
Annotation复习:1,Annotation:作为类型的元数据; 1,给类型加标记; 2,annotation可以添加各种类型的属性;2,Annotation的上的标记: 1),target:标 ...
-
【转】AndroidStudio升到最新版本(3.1.2)之后
AndroidStudio升到最新版本(3.1.2)之后 暂时发现的需要大家注意的地方 1.androidstudio3无法导入moudle? 例如:我写了一个简单的项目,需要导入一个第三方的mo ...
-
【WPF】OnApplyTemplate
操作模板控件 在做WPF开发的时候,我们通常因为满足不同的需求会开发一些自定义控件来满足需要,我们会自定义模板来定义控件的外观,添加命令和路由事件来给控件添加行为,那如何在模板中查找元素并关联事件处理 ...