Django 基础

目录

  • web基础
    • HTTP协议
      • 1.四大特性
      • 2.数据格式
      • 3.响应状态码
    • 动静态网页
      • 静态网页
      • 动态网页
      • 模板的渲染
  • python三大主流web框架(了解知识)
    • django
    • flask
    • tornado
  • Django框!架介绍
    • Django版本选择:
    • 命令行创建项目
    • APP的概念
    • pycharm创建项目
    • django文件功能
    • django基本配置及注意事项
  • django基础三板斧
    • HttpResponse 返回字符串
    • render 返回html文件,可以给html页面传值
    • redirect 重定向
    • 重启机制

web基础

HTTP协议

1.四大特性

​ 1.基于TCP/IP作用于应用层之上的协议

​ 2.基于请求响应

​ 3.无状态
​ cookie session token...
​ 4.无连接
​ websocket长连接

2.数据格式

​ 请求格式
​ 请求首行
​ 请求头

​ 请求体

3.响应状态码

​ 用数字表示一串语言解释

动静态网页

静态网页

​ 数据是写死的 万年不变(哪怕改变了 也是人为直接修改)

动态网页

​ 数据是实时获取的
​ eg:
​ 1 后端代码动态获取 当前时间
​ 2 数据是从数据库查询出来的

模板的渲染

将后端传递给html文件的数据 在后端处理好 生成一个完整的html文件的过程

注意 模板的渲染是在后端完成的 跟前端没有关系

python三大主流web框架(了解知识)

django

​ 大而全 自带的组件和功能非常非常多 类似于航空母舰
​ 不足之处:写小项目的时候 可能会比较笨重(大材小用)

flask

​ 小而精 短小精悍 自带的组件和功能特别特别少 类似于游骑兵
​ 基本全部依赖于第三方组件
​ 不足之处:受限于第三方模块的影响比较大
​ 如果将flask所有第三方模块加起来 能够直接盖过django

tornado

​ 异步非阻塞 这个框架甚至可以用来开发游戏服务器

a:socket部分
b:路由匹配
c:模板语法

django:
    a用的别人的wsgiref(django默认的)
    b自己写的
    c自己写的
flask:
    a用的别人的werkzeug
    b自己写的
    c用的别人的jinja2
Tornado:
    a,b,c都是自己写的

Django框!架介绍

Django版本选择:

不要使用最新版,推荐使用1.11.11版本

如何校验Django是否安装成功

命令行创建项目

1、创建Django项目

​ cmd客户端输入:django-admin startproject 项目名(例如mysite)

2、启动django项目

​ 切换到项目文件夹下

​ cmd客户端输入:Python manage.py runserver(不行就试试 Python3 manage.py runserver)

3、创建应用(django支持多APP开发)

​ cmd客户端输入:Python3 manage.py startapp app01

注意:

​ 1、不会自动创建tempates文件夹

​ 2、配置文件中不会自动书写templates文件路径

APP的概念

django是一个以开发APP为主要功能的web框架

app就是application应用的意思

一个空的django本身没有任何作用,仅仅是为APP提高前期的环境配置

你可以根据功能的不同 开发多个APP

一个APP对应一个具体的功能模块

用户相关的功能——》 app

订单相关的功能——》 app

商品相关的功能——》 app

每隔app都有自己独立的功能

创建好的app需要在django配置文件中注册方可生效
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'app01'  # 简便写法
    'app01.apps.App01Config'  # 最完整的写法
]

pycharm创建项目

​ 1、创建应用的时候 可以使用简便方式
​ Tools >>> run manage.py task
​ 2、一定要确保同一个端口 同一时间只能启一个django项目

​ 3、配置文件中针对templates文件夹的路径 如果是空的需要你手动配置

            TEMPLATES = [
                {
                    'BACKEND': 'django.template.backends.django.DjangoTemplates',
                    'DIRS': [os.path.join(BASE_DIR, 'templates')]
                    ,
                    'APP_DIRS': True,
                    'OPTIONS': {
                        'context_processors': [
                            'django.template.context_processors.debug',
                            'django.template.context_processors.request',
                            'django.contrib.auth.context_processors.auth',
                            'django.contrib.messages.context_processors.messages',
                        ],
                    },
                },
            ]

settings文件中的 DEBUG = True 后期要改成False
settings文件中的 ALLOWED_HOSTS =[] 是匹配本地测试的,后期上线后要改成["*"]

django文件功能

​ django项目名

​ settings.py 暴露给用户可以配置的配置文件

​ urls.py 路由与视图函数的对应关系

​ manage.py django的入口文件

​ migrations 文件夹 所有数据库相关的操作记录

​ admin.py django admin后台管理

​ apps.py 注册app使用

​ models.py 放所有数据库有关的模型类

​ tests.py 测试文件

​ views.py 处理业务逻辑的视图函数

django基本配置及注意事项

1、计算机名称不能含中文

2、python解释器不要使用3.7版本,推荐使用版本3.4—3.6

3、一个pycharm窗口只能跑一个项目

django基础三板斧

HttpResponse 返回字符串

render 返回html文件,可以给html页面传值

def login(request):
    user_dic = {'username':'jason','password':'123'}
    return render(request,'login.html',{'xxx':user_dic})

redirect 重定向

1、直接写本网站的路径后缀

2、也可也写 全路径

def home(request):
    # return redirect('/login')  # 重定向
    return redirect('https://www.baidu.com')  # 重定向

注意

​ django默认是自动重启的

重启机制

​ 内有检测机制,实时检测所有文件的变化

​ 有时候你代码还没写完,就自动重启,会出现报错的情况,这个不用管,等代码写完后,手动重启

你可能感兴趣的:(Django 基础)