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学习的更多相关文章

  1. AI2(App Inventor 2)离线版服务器(2019.04.28更新)

    我们的目标:搭建一个本地多用户的App Inventor 2 服务器   演示: http://ai2.fsyz.net  [旧 win]     http://ai2n.fsyz.net [新 Ce ...

  2. [2019.04.01]Linux 学习心得(2)-- tar 命令的理解

    这篇文章并不是发布最早的但是阅读量却每天都见长,很想知道各位大大是怎么找到这篇文章的.如果不忙,还请各位大大评论一下我看看,没准我可以为大家改进一下本文,提升一下质量. =============== ...

  3. Python框架之Django学习

    当前标签: Django   Python框架之Django学习笔记(十四) 尛鱼 2014-10-12 13:55 阅读:173 评论:0     Python框架之Django学习笔记(十三) 尛 ...

  4. Django学习(4)表单,让数据库更美好

    表单,在HTML中的标签为<form></form>,在网页中主要负责数据采集功能.我们在浏览网站时,常常会碰到注册账号.账号登录等,这就是表单的典型应用. 在Django学习 ...

  5. Alpha冲刺(5/10)——2019.4.28

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(5/10)--2019.4.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  6. Django学习系列3:创建仓库

    在创建仓库之前,在项目superlists中新建一个Python文件,命名为functional_tests.py,里面的内容如下: # File: functional_test.py # Auth ...

  7. Django学习之路由分发和反向解析

    原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目 ...

  8. Django 学习笔记1-- URLconf

    今天好像巴黎有点乱,希望明天太阳还会照常升起. 简介 Django 是一个由 Python 编写.开源并采用经典的 MVC 设计模式的 Web Full Stack 应用框架. 在 Django 中, ...

  9. 2014.04.28基于CPLD的LCOS场序彩色视频控制器设计

    基于CPLD的LCOS场序彩色视频控制器设计 作者:宋丹娜,代永平,刘艳艳,商广辉 发表刊物:液晶与显示,2009 学习时间:2014.04.28 文章讲述了-- (和上一篇论文有些相似之处) 1. ...

  10. 今天主要推荐一下django学习的网址!

    前言:每个月忙碌的头20天后,在上班时间投入到django理论学习的过程中,花了差不多3天时间简单的研究了一下django,着实废了我不少脑细胞. 采用虫师前辈的一张图和话: 如果你把这过程梳理清晰了 ...

随机推荐

  1. sql 查询结果自定义排序

    sqlserver 使用case when then 语句来实现 select name from fruit order by case name end oracle 使用decode实现 ,,, ...

  2. 服务调用框架DataStrom

    根据以前的命名服务,从新构建了下服务框架: 结构模式:c-center-s; 1.服务端: 服务端启动,讲自己的IP,端口注册到注册中心节点(master),然后注册自己的处理类(需要继承对应接口); ...

  3. mysql表关联

    mysql的表关联: left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner ...

  4. 解决导出CSV后在EXCEL打开纯数字前面0丢失问题

    select ip ,concat('="',accountname,'"')select ip ,concat('="',accountname,'"')

  5. thingsboard填坑之路

    因为thingsboard都是国外的资料,国内基本没有参考资料.所以,记录下来源码安装当中,遇到的问题. thingsboard官网源码安装连接: https://thingsboard.io/doc ...

  6. 使用ScheduledThreadPoolExecutor执行定时任务

    ScheduledThreadPoolExecutor scheduled = new ScheduledThreadPoolExecutor(2); scheduled.scheduleAtFixe ...

  7. azkaban使用--传入动态参数

    转: azkaban的工作流中的参数可以分为如下几个类型:azkaban UI 页面输入参数, 环境变量参数, job作业文件中定义的参数,工作流的用户定义的属性文件,上游作业传递给下游的参数,工作流 ...

  8. docx httpheader头设置

    设置contentType内容类型如下: Extension MIME Type .doc application/msword .dot application/msword .docx appli ...

  9. JS常见兼容性问题

    兼容性问题:函数(方法)兼容 描述:部分W3C指定的函数,有部分老的浏览器不支持 解决: 条件判断,如果有,则使用,添加原型方法,例如 String 的 trim 方法 if(!String.prot ...

  10. 链表实现python list数据类型

    #1.<--用单链表的数据结构实现列表class error(Exception): def __init__(self,msg): super(error,self).__init__(sel ...