2019-04-28——Django学习
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,着实废了我不少脑细胞. 采用虫师前辈的一张图和话: 如果你把这过程梳理清晰了 ...
随机推荐
- sql 查询结果自定义排序
sqlserver 使用case when then 语句来实现 select name from fruit order by case name end oracle 使用decode实现 ,,, ...
- 服务调用框架DataStrom
根据以前的命名服务,从新构建了下服务框架: 结构模式:c-center-s; 1.服务端: 服务端启动,讲自己的IP,端口注册到注册中心节点(master),然后注册自己的处理类(需要继承对应接口); ...
- mysql表关联
mysql的表关联: left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner ...
- 解决导出CSV后在EXCEL打开纯数字前面0丢失问题
select ip ,concat('="',accountname,'"')select ip ,concat('="',accountname,'"')
- thingsboard填坑之路
因为thingsboard都是国外的资料,国内基本没有参考资料.所以,记录下来源码安装当中,遇到的问题. thingsboard官网源码安装连接: https://thingsboard.io/doc ...
- 使用ScheduledThreadPoolExecutor执行定时任务
ScheduledThreadPoolExecutor scheduled = new ScheduledThreadPoolExecutor(2); scheduled.scheduleAtFixe ...
- azkaban使用--传入动态参数
转: azkaban的工作流中的参数可以分为如下几个类型:azkaban UI 页面输入参数, 环境变量参数, job作业文件中定义的参数,工作流的用户定义的属性文件,上游作业传递给下游的参数,工作流 ...
- docx httpheader头设置
设置contentType内容类型如下: Extension MIME Type .doc application/msword .dot application/msword .docx appli ...
- JS常见兼容性问题
兼容性问题:函数(方法)兼容 描述:部分W3C指定的函数,有部分老的浏览器不支持 解决: 条件判断,如果有,则使用,添加原型方法,例如 String 的 trim 方法 if(!String.prot ...
- 链表实现python list数据类型
#1.<--用单链表的数据结构实现列表class error(Exception): def __init__(self,msg): super(error,self).__init__(sel ...