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. ROS多根adsl叠加负载均衡PCC的做法

    命令行: / ip firewall mangle1.保证访问局域网IP的时候不被PCC了.add chain=prerouting dst-address=10.1.1.0/24 action=ac ...

  2. Linux 系统报错 rcu_preempt detected stalls on CPUs/tasks

    说在前面的一些废话: 这是什么错误我不知道,为什么出现我不知道! 那为什么还要把他写出来了,只是因为这个错误遇到了,而且浪费了我很多时间和精力. 故事留给自己看,解决办法就是,重新升级一下Linux系 ...

  3. 数组Array的API2

    数组的方法 arr.push() arr.unshift() arr.pop() arr.shift() arr.slice() arr.splice() arr.join() arr.find() ...

  4. Crontab 执行时没有环境变量!

    Crontab 执行时没有环境变量! Crontab 执行时没有环境变量! Crontab 执行时没有环境变量! 重要的事情说三遍,浪费我半天时间去找问题!! 非系统默认工具,执行时候需要加全路径!!

  5. python docker 多进程提供 稳定tensorflow gpu 线上服务

    尝试了太多的python多进程的服务,在tensorflow 的线上GPU服务中总是不理想.tensorlfow serving docker服务这些也有些不便. 今天抽空给大家分享一个成功的经验.失 ...

  6. python web编程之网络基础

    1.TCP/IP协议 1)分层 应用层,传输层,网络层,接口层 2)Ip地址 3)域名 4)URL统一资源定位符 格式:    [协议]://[主机]:[端口]/[路径]?[参数] 协议是HTTP,F ...

  7. python_12 模块

    在python中,一个.py文件就称之为一个模块(module) 好处:提高代码的可维护性 模块分为三种:1.python标准库   2.第三方库     3.应用程序自定义模块 import的作用: ...

  8. jsfl 进入影片 退出影片

    targetMC=fl.getDocumentDOM().getTimeline().layers [0].frames[0].elements[0]; fl.getDocumentDOM().lib ...

  9. js:获取事件源的兼容性写法

    XXX.onclick = function(e){ var event = e || window.event; var target = event.target || event.srvElem ...

  10. tabpanel如何隐藏页签表头以及基本用法总结

    tabpanel是extjs中一种比较常用的布局容器控件,也比较简单. ///1:相关的插件, var tabScrollerMenu = Ext.create("Ext.ux.TabScr ...