安装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. 【Aladdin Unity3D Shader编程】之四 贴图纹理

    关于纹理贴图介绍 纹理坐标也叫UV坐标,UV坐标都是0~1,并不是我们所理解的像素坐标,相当于是一个百分比. 编写shader映射纹理 将纹理的颜色取代漫反射的颜色 Shader "Alad ...

  2. java使用poi读取word(简单,简约,直观)

    java使用poi读取word(简单,简约,直观) 说明 其实poi的官网上面都是有接口和样例的,只是都是英文 例如网址:http://poi.apache.org/spreadsheet/quick ...

  3. TeeChart绘图控件 - 之三 - 提高绘图的效率 .

    TeeChart是个很强大的控件,其绘图能力之强,其他控件难以比拟,但是有个问题就是他的绘图速度,其实TeeChart绘图速度还是很快的,只是大家一直都没正确运用其功能所以导致绘图速度慢的假象. 下面 ...

  4. windows下安装MySQL-python遇到的问题

    执行安装命令 pip install MySQL-python 一.执行时会报一个错误 error: Microsoft Visual C++ 9.0 is required (Unable to f ...

  5. django入门与实践 3-1 环境搭建

    Python 2.7 .Django对2.7.3.5.3.4都是支持的. https://www.djangoproject.com/download/ django对python的兼容情况 pip安 ...

  6. 使用 Jenkins + GitHub + Nginx + HTTPS 搭建静态网站

    参考https://www.imooc.com/article/20079 http://www.haoduoyu.cc/

  7. js模拟复制

    现在浏览器种类也越来越多,诸如 IE.Firefox.Chrome.Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了.   一.实现点击按钮,复制文本框中的的内 ...

  8. [Swift通天遁地]五、高级扩展-(9)颜色、设备、UserDefaults、URL等扩展方法

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. $P2299 Mzc和体委的争夺战$

    \(problem\) #ifdef Dubug #endif #include <bits/stdc++.h> using namespace std; typedef long lon ...

  10. A* 寻路算法[转载]

    A* 寻路算法 转载地址:http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html 原文地址: http://www.gamedev ...