博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django
阅读量:4464 次
发布时间:2019-06-08

本文共 1910 字,大约阅读时间需要 6 分钟。

1. django-admin startproject my_site 创建项目

 

2.项目目录结构

mysite

-----manage.py  #管理程序的文件,启动和结束等

----my_site

  ----__init__.py

  ----settings.py  #程序的配置文件

  ----urls.py        #程序的路由系统  即:url和处理其函数的对应关系

  ----wsgi.py   #指定框架的wsgi

 

3.django-admin.py startapp app  创建一个app(大项目下的小模块)

 

----__init__.py  (代表是一个python的包)

----admin.py   数据库的管理后台

----apps.py    django把项目和app关联起来的文件

----migrations   数据库相关

  -----__init__.py

----modes.py    数据库操作的地方

----tests.py      #单元测试

----views.py     #业务逻辑代卖

 

 

4.第一次django请求

  1.匹配路由,路由分发器查找用户请求的url对应关系

    1.找到了业务函数,就调用

    2.找不到就报404

  2.业务函数,执行业务逻辑

  3.返回数据给浏览器

 

HttpResponse方法返回数据给前端

 

5.模版初探

1.配置settings.py

2.views.py

return render(request,'form.html')

 

6.MVC&MTV 架构

MVC 是一种MVC(Model View Controller 模型-视图-控制器)设计创建web应用程序的模式

Model(模型) 一般对应数据操作、记录的存取

View(视图) 决定如何展示数据

Controller(控制器)负责处理用户交互的部分,控制器负责从视图读取数据,控制用户输入,并向模型发送数据

Django是一个MTV框架,其架构模版看上去与传统的MVC架构并没有太大的区别,Django将MVC中的视图进一步分解为Django视图和Django模版两个部分,分别决定“展现哪些数据”和“如何展现”使得Django的模版可以根据需要随时替换,而不仅仅先治愚内置的模版,至于MVC控制器部分,由Django架构的URLconf来实现。(MVTC)

 

7.路由   动态路由  静态路由

r-----抑制特殊字符转译   $ 结尾

uuid

自定义converters

 

自己写sql语句

1.sql注入

2.代码sql写在一起了,导致接偶差

3.开发人员不一,导致性能

4.开发效率低

 

什么是ORM

对象关系映射(Object Relational Mapping)它的实质就是将关系数据库中的业务逻辑数据用对西那个的形式表示出来,并通过面向对象(Object - Oriented)的方式将这些对象组织起来,实现系统逻辑的过程

 

在ORM过程中最重要的概念就是映射(Mapping),通过这种映射可以使业务对象与数据库分离。从面向对象来说,数据库不应该和业务逻辑绑定在一起,ORM则起到这样的分离作用,使数据库层透明,开发人员真正的面向对象。

实现了代码与数据库的结果     不需要写sql,提高了开发效率   防止sql注入

牺牲性能  复杂语句力不从心

 

Blog系统表结构设计

1.每个用户有自己的账户信息

2.用户可以发文章

3.文章可以打多个标签

register---注册

 

不过注意,python3 连接mysql的使用pymsql,MysqlDB模块300年没有更新了,但django默认调用的还是MySQLdb,so pymysql有个功能可以让django以为是用了MySQLdb,即在项目目录下的__init__.py中加上句代码就好

import pymsql

 

pymysql.install_as_MySQLdb()

 

django 数据库同步工具

  migrations 

    1.生成同步文件

      python manage.py makemigrations

    2.同步

      python manage.py migrate

 

ORM 创建

1.直接创建

2.先生成对象,再创建

 

shell     from app01  import model

    python manage.py shell 

    model.Account.objects.create(

)  

 

转载于:https://www.cnblogs.com/0411xiaofeng/p/10992303.html

你可能感兴趣的文章
MySQL系列(三)--MySQL存储引擎
查看>>
MySQL5使用Innodb引擎时如何设置数据文件按表存储
查看>>
UNIX网络编程 - UNIX errno值
查看>>
有多少种JVM
查看>>
System.gc()
查看>>
【BZOJ3926】【ZJOI2015】—诸神眷顾的幻想乡(广义后缀自动机)
查看>>
测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告...
查看>>
"Hello World!" for the NetBeans IDE
查看>>
AlertDialog弹出退出对话框和图片对话框
查看>>
ASP.NET页面间数据传递的方法
查看>>
函数—参数会变吗
查看>>
Windows 10 v9926 初测
查看>>
Perl单URL爬虫
查看>>
Memcached
查看>>
codeforces 25D
查看>>
多校 2009 2
查看>>
uva 305 Joseph
查看>>
移植rtmpdump(librtmp)到android
查看>>
类查找android中跨项目的数据库操作ContentProvider的使用
查看>>
WCF也可以做聊天程序
查看>>