初始Django

  Django是Python众多web架构中重量级的开源web架构,是由python编写而成。

  Django采用的是MTV架构模式,(M:模型;T:模板;V:视图)

    模型(model):数据存取层,处理与数据相关的所有事物;

    模板(Template):表现层,处理与表现相关的决定;如何在页面或其他类型文档中进行显示。

    视图(view):业务逻辑层,存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

什么是web框架:

  web框架其实就是建立web应用的一种方式。其本质其实就是一个socket服务端,用户的浏览器就是这个socket的客户端。

  简单搞个web架构:

 1 # @Time : 2019/12/2 10:49 
 2 # @Author : Adair
 3 
 4 import socket
 5 
 6 def handle_request(client):
 7     buf = client.recv(1024)
 8     client.send("HTTP/1.1 200 OK

".encode("utf8"))
 9     client.send("<h1 style='color:red'>Hello Adair</h1>".encode("utf8"))
10 
11 def main():
12     sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
13     sock.bind(('localhost',8080))
14     sock.listen(3)
15 
16     while True:
17         connection,address = sock.accept()
18         handle_request(connection)
19         connection.close()
20 
21 if __name__ == '__main__':
22     main()

 Django命令行工具:

  django-admin.py 是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单封装,每一个Django project里都会有一个manage.py

       1、创建一个Django工程:django-admin.py startproject XXX

  2、创建APP应用:python manage.py startapp XXX

  3、启动Django项目:python manage.py runserver IP:PORT

  4、生成同步数据库的脚本:python manage.py makemigrations

  5、同步数据库:python manage.py migrate

     注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的简单粗暴的方法是吧migrations目录下的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。

  6、创建登录后台页面的超级管理员的用户和密码:python  manage.py createsuperuser

  7、清空数据库:python manage.py flush

  8、查询某个命令的详细信息:django-admin.py help startapp

  9、启动交互界面:python manage.py shell

  10、在终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用

Django目录介绍:

 最上边的mytest为整个工程的名称:

  •   APP为项目的名称(可以根据功能划分创建多个项目)
  •   mytest为整个工程的配置目录,可以理解为全局配置文件
  •   templates目录为存放web文件的目录,可以自行在此目录下创建目录进行web文本的区分
  •   manage.py为Django管理任务的命令行工具

mytest(全局配置文件的存在目录):

  •   settings:所有的Django的配置信息都在这里边,包括数据库的配置,静态文件的配置,还有Django依赖的第三方扩展包
  •   urls:路由分配器,负责把URL模式映射到应用程序上
  •   wsgi:web服务器网关接口

 APP(单个项目的名称):

  •   migrations:数据库修改表结构的记录
  •   admin:Django为我们提供的后台管理
  •   apps:配置当前项目
  •   models:ORM 写指定的类,通过命令可以创建数据库表结构
  •   tests:单元测试
  •   views:业务逻辑代码,正在写代码的地方
原文地址:https://www.cnblogs.com/Adairye/p/11979934.html