安装django
pip install Django==1.11.4
进入python
import django
查看版本号django.get_version()
创建项目,在合适位置创建一个目录
进入你要创建项目的文件位置
创建一个项目project
django-admin startproject (项目名)project
tree 空格.空格/F //看目录下的树状层级
里面文件作用:
manage.py一个命令工具,可是使我们用多种方式对Django进行交互
_init_.py一个空文件,她告诉python这个目录可以看做一个包
settings.py项目的配置文件
url.py项目的URL声明
wsgi.py项目与WSGI兼容的web服务器入口

设计一下表结构
班级表(表名 grade,字段 (班级名称gname,成立时间gdate,女生总数ggirlnum,男生总数gboynum,是否删除isDelete)),
学生表 (表名 students,字段(姓名sname,性别sgender,年龄sage,简介scontend,所属班级sgrade,是否删除isDelete))
django默认使用Sqllite

在settings.py中配置,通过databases选项进行配置

配置MYSQL(python3.x安装pymysql,在_init_.py中写入俩行代码import pymysql
pymysql.install_as_MySQLdb())

配置settings.py中配置

创建应用:(一个项目里面可以创建多个应用,每个应用进行一种业务处理)
打开黑屏终端进入software_01下的
创建应用进入 输入例如:python manage.py startapp myApp 文件名

运行服务 python manage.py runserver
ctrl+c退出服务
在urls中配置url
将应用添加到settings中国的APPS中

每一个响应函数对应一个URL
url函数存放在urlpatterns列表中

migrations
数据移植迁移模块
admin.py
该应用后台管理机制
apps.py
该应用一些配置
models.py
数据模块
使用ORM框架
类似于MVC框架
test.py
自动化测试功能
填写脚本即可
views.py
视图
执行响应的代码所在模块
项目中大部分代码都在这里

生成数据库数据表
执行代码
Templates介绍(模板)
激活应用,在settings.py文件中将nyApp应用加入到INSERTLLED_APPS选项中
定义一个模型(有一个数据表就对应一个模型)
在model.py文件中定义模型(模型类要继承models.Model类)
不需要定义主键,
版本要对应,django2.0以上要对应mysql5.7以上的版本
在数据库中生成数据表
1.生成迁移文件(执行命令python manage.py makemigrations ),
2.执行迁移python manage.py migrate)

测试数据操作
1.进入到python shell中环境,
2.执行python manage.py shell
3,引入一些包
from myApp.models import Grades,Students
from django.utils import timezone
from datetime import*

通过模型操作

查询所有数据(类名.object.all())

添加数据:本质(创建一个模型类的对像实例)
对象
grade1=Grades(),
grade1.gname="python01",
grade1.gdate=datetime(year=2017,month=7,day=17),
grade1.ggirlnum=5,
grade1.gboynum=7,
grade1.save()

查看某个对象(类名.object.get(pk=2),
2.Grades.object.get(pk=2))

修改数据 grade2.gboynum=60,grade2.save()

删除数据 删除python05

关联对象 获得关联对象的集合(获取python04班级的所有学生),关联的类名小写_set.all()

需求:创建曾志伟属于python04班级如下
stu3=grade2.students_set.create(sname="曾志伟",sgender="男",sage=11,scontend="我是曾志伟")

启动服务器 python manage.py runserver ip:port(ip可以不写,表示是本机ip端口号默认是8000)
说明;这是一个python轻量级web服务器,仅仅在开发测试中使用

*1.Admin站点管理{内容发布(负责添加,删除,修改内容),公告访问}
2.配置admin应用
在settins.py中添加 'django.contrib.admin'(一般是默认的)
创建管理员用户:python manage.py createsuperuser,依次输入用户名,密码,邮箱
汉化: LANGUAGE_CODE = 'zh_Hans'
TIME_ZONE = 'Asia/Shanghai'修改这俩句就行

管理数据表:admin.py的文件
djang(from.models import Grades,Students
#注册
admin.site.register(Grades)
admin.site.register(Students))

自定义管理界面{
列表页属性
list_display = []//显示字段

list_filter = []//过滤字段
search_fields = []//搜索字段
list_per_page = []//分页
修改页属性
fields = []属性的先后顺序
fieldsets = []给数组分组
}
关联对象
class StudentsInfo(admin.TabularInline):
model = Students
extra = 2
要把这个类添加进去
class GradesAdmin(admin.ModelAdmin):
inlines = [StudentsInfo]

布尔值显示问题
执行动作的位置问题

使用装饰器完成注册

视图的基本使用:概念:在django中,视图对web的请求进行回应
1.视图就是一个python函数,在views.py中定义视图例如views.py里面
2.配置url:修改mytest目录下的urls.py文件,在myApp应用目录下创建一个urls.py文件,然后修改myApp应用下的urls.py,在引用views.py

模板的基本使用:概述:模板是html界面,可以根据视图中传递过来的数据进行填充
创建模板目录:模板的位置templates目录,在目录下创建对应项目的模板目录(mytest/templates/myApp)
配置模板路径:修改settings.py文件下的TEMPLATES 中的'DIRS': [os.path.join(BASE_DIR,'templates')],
定义grades.html和students.html,模板的语法1.{{输出值,可以是变量,也可以说对象属性}},2.{%执行代码段%}

访问http://127.0.0.1:8000/grades写grades.html模板
定义视图(函数)
配置url:url(r'^grades/$',views.grades),只是其中一个

https//127.0.0.1:8000/Students
1.写student.html模板
2.定义视图
3.配置url
点击班级,对应的所有学生
1.定义视图:写一个函数,对应其视图
2.配置url: url(r'^grades/(\d+)$',views.gradesStudents)

流程回顾:
1.创建项目:执行<django-admin startproject project>
2.创建应用:<python manage.py startapp myApp>
3.激活项目:修改settting.py中的INSTALLEd_APPS
4.配置数据库:
1.修改_init_.py文件
2.修改setting.py中的DATABESESS
5.创建模型类:在项目目录下的models.py文件中
6.生成迁移文件:python manage.py makemigrations
7.执行迁移文件:python manage.py migrate
8.创建管理员:python manage.py createsuperuser
9.创建模板目录/创建项目模板目录:
在settingspy文件中配置模板路径
如下:'DIRS': [os.path.join(BASE_DIR,'templates')],
11.在projec下修改urls.py
12.在项目目录下创建urls.py
13.
重新创建一个迁移文件
1.在settings.py中修改数据库名
2.在setting.py中修改数据库密码
3.删除迁移文件(在对应目录里鼠标右键删除)
4.在数据库中创建对应第一步的数据库
5.执行迁移文件
6。执行前一
7.启动服务
8.测试

二零一九年五月一号
ORM:概述:对象-关系-映射
任务:
1.根据对象的类型生成表结构
2.将对象列表的操作转换为sql语句
3.将sql语句查询的数据转换为对象、列表
优点:极大的减轻了开发人员的工作量,不需要面对一种操作因数据库的变更而修改代码

定义模型:模型、属性、表、字段之间的关系
(一个模型类在数据库中对应一张表,在模型类中定义的属性,对应该模型对照表的字段)

Django基础配置的更多相关文章

  1. django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统

    Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...

  2. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  3. Django基础学习七之如何配置django+mysql

    很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧 今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库 1.在project中的set ...

  4. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  5. Django 基础(一)

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能 ...

  6. 最优Django环境配置

    2 最优Django环境配置 本章描述了我们认为对于中等和高级Django使用者来说最优的本地环境配置 2.1 统一使用相同的数据库引擎 一个常见的开发者错误是在本地开发环境中使用SQLite3,而在 ...

  7. Django 基础一(安装和启动)

    在开始跟着本文学习Django进行Web开发之前你需要有一定的python编程基础,会用一些简单的Linux系统命令.如果你对python一无所知,请先去这个网站学习一下python编程的基础 Lin ...

  8. python的django基础篇

    一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...

  9. Python学习(二十六)—— Django基础一

    转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...

随机推荐

  1. BNU 13024 . Fi Binary Number 数位dp/fibonacci数列

    B. Fi Binary Number     A Fi-binary number is a number that contains only 0 and 1. It does not conta ...

  2. 【Aladdin Unity3D Shader编程】之二 光照模型(一)

    光照模型 光照模型就是一个公式,使用这个公式来计算在某个点的光照效果. 在标准光照模型里面,我们把进入摄像机的光分为下面四个部分: 自发光 类似生活中的萤火虫等自己能够发光 高光反射 类似生活中的镜子 ...

  3. click事件触发也有失灵的时候?

    今天做了个手机页面,点击某个按钮->弹出菜单,再点击菜单以外的任意位置->关闭菜单,在其他浏览器里面没有问题,但是在IOS浏览器中并不会关闭. 网上解决这个bug的帖子很多,这篇帖子主要是 ...

  4. 在Sql Server触发器中判断操作是Insert还是Update还是Delete

    在Sql Server触发器中判断操作是Insert还是Update还是Delete DECLARE    @IsInsert bit,    @IsUpdate bit,    @IsDelete  ...

  5. POJ 3264 Balanced Lineup 区间最值

    POJ3264 比较裸的区间最值问题.用线段树或者ST表都可以.此处我们用ST表解决. ST表建表方法采用动态规划的方法, ST[I][J]表示数组从第I位到第 I+2^J-1 位的最值,用二分的思想 ...

  6. hibernate基础学习---hierbnate2级缓存

    1:开启二级缓存sessionFactory需要安装jar包 2:在实体类配置文件添加(配置二级缓存).我的配置文件是Account.hbm.xml <?xml version="1. ...

  7. 0619-dedeCMS的安装、重装、目录说明、基本操作及注意事项

    一.安装步骤: 1.解压文件,将我们需要的uploads文件夹更名为dedeCMS 2.从站点下打开dedeCMS-install-index.php开始安装 3.安装完成后到php.ini中设置re ...

  8. Akka源码分析-Remote-Creating Actors Remotely

    在akka官网中关于远程actor交互,介绍了两种方法,一种是通过actorSelection查询,另一种是通过actorOf在远程节点创建一个actor.actorSelection我们之前的博客中 ...

  9. datatable 的使用方法

    遍历datatable的方法 +方法一:DataTable dt = dataSet.Tables[0];for(int i = 0 ; i < dt.Rows.Count ; i++){str ...

  10. Salvation -- ---广搜 + 限定方向 ,

    这个欣求 , 在迷宫里密室了方向 , 走过了一个地方 不做标记 还一个劲 , 找不到媳妇不亏 . 这个题 我跳了两个坑 ,  1 : 习惯性添加标记走过的 位置  ,导致所有的位置都能 走过一遍 , ...