安装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. POJ 2610:Dog & Gopher

    Dog & Gopher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4142   Accepted: 1747 ...

  2. .NET下WebBrowser的一个BUG以及其替代品——geckofx

    今天研究一个小问题,在C#的WebBrowser下打开奇艺网的视频,经常整个FLASH就偏了,进度条控制条什么的都没有. 要全屏一下然后还原才能解决这个问题. 如下,图1为webbrowser打开,图 ...

  3. JSP-Runoob:JSP JavaBean

    ylbtech-JSP-Runoob:JSP JavaBean 1.返回顶部 1. JSP JavaBean JavaBean是特殊的Java类,使用J ava语言书写,并且遵守JavaBean AP ...

  4. Frequent values(线段树+离散化)

    http://poj.org/problem?id=3368 题意:给出一个非降序排列的整数数组,对于询问(i,j),输出区间[i,j]中出现最多的值的次数. 思路:经典的RMQ,不过我用线段树做的. ...

  5. 数值分析常见算法C++实现

    1.1-有效数字丢失现象观察 #include<bits./stdc++.h> using namespace std; double f1(double x) { )-sqrt(x)); ...

  6. Akka源码分析-Actor发消息

    前面两篇文章简单介绍了ActorSystem.actor以及dispatcher和mailbox的创建,下面我们就来看一下actor发消息的内部机制. val system = ActorSystem ...

  7. Netty(2) - HelloWorld

    Netty:作用场景. 1)Netty可以基于socket实现远程过程调用(RPC). 2)Netty可以基于WebSocket实现长连接. 3)Netty可以实现Http的服务器,类似于Jetty, ...

  8. Vue组件库elementUI 在el-row 或 el-col 上使用@click无效失效,

    问题: elementUI 在el-row 或者 el-col 上使用@click失效, 解决: 在click后面加上 .native .要使用@click.native=”handler()”才行, ...

  9. Java常用集合类

    上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,Abstract ...

  10. 6.11---@RequestMapping注解的6+2个属性---6.11

    produces:它的作用是指定返回值类型,不但可以设置返回值类型还可以设定返回值的字符编码: consumes: 指定处理请求的提交内容类型(Content-Type),例如application/ ...