一、django的简介和配置

django简介

django是一个功能大而全的web框架,能帮助开发者快速的开发一个web系统,但也略显笨重,不过作为初学者此框架正合适入门。

django框架属于MTV模式:

  • M是指models(模型层),应用的数据类型在此定义,实现应用中的业务对象和数据库的交互
  • T是指templates(模板层),将系统后端运行结果渲染后,展现给用户
  • V是是view(视图层),负责具体的业务逻辑运行,必要时调用models操作数据库,利用templates展现运行结果。

django除了上诉三层模块外,还有三个必不可少的的模块

  • wsgiref模块 为请求监听socket并解析http协议,为响应封装http协议
  • 路由层 为浏览器请求分配响应的视图函数处理
  • 中间件层 对请求和响应数据做预处理

在这里插入图片描述

django的安装和项目创建

在linux系统中命令行直接下载
      pip3 install django==2.2
在pycharm中settings-->project-interpreter-->添加django2.2

创建django项目
   django-admin startproject 项目名
   
创建app应用
   python3 manage.py startapp app01
   
注册app应用
   在settings文件中对INSTALLED_APPS的值添加新应用的名字

手动创建模板目录
   1、可以直接创建在项目根目录下
   2、建议在各应用目录下创建命名为:templates/应用名 的目录

启动django项目
   python manage.py runserver 127.0.0.18080

项目根目录
	应用名
	   migrations  数据库迁移记录相关数据
	   admin.py    django后台管理相关
	   models.py   模型表相关
	   views.py    视图函数相关
	   templates
	      应用名
	      
	项目名
	   settings.py  配置文件
	   urls.py      路由文件
	   wsgi.py		http报文的解析和封装
	manage.py       管理django入口文件

django链接数据库(MySQL)

# 默认用的是sqkite3
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# django链接MySQL
	1.mysql模块安装	
	  	Django官方已经不建议使用pymysql库了,而是改用mysqlclient,直接pip安装即可。
  	
	2.第一步配置文件中配置
  	DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'day60',  # 数据库名,需提前创建
        'USER':'root',
        'PASSWORD':'admin123',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'CHARSET':'utf8'
    }
}

静态文件配置

"""
我们将html文件默认都放在templates文件夹下
我们将网站所使用的静态文件默认都放在static文件夹下

静态文件
	前端已经写好了的 能够直接调用使用的文件
		网站写好的js文件
		网站写好的css文件
		网站用到的图片文件
		第三方前端框架
		...
		拿来就可以直接使用的
"""
# django默认是不会自动帮你创建static文件夹 需要你自己手动创建
一般情况下我们在static文件夹内还会做进一步的划分处理
	-static
  	--js
    --css
    --img
    其他第三方文件

"""
在浏览器中输入url能够看到对应的资源,是因为后端提前开设了该资源的接口,如果访问不到资源 说明后端没有开设该资源的接口。

动态页面的接口大都在djang中使用urls.py路由文件来设置
静态页面的接口则在setting中通过STATIC_URL和STATICFILES_DIRS两个参数完成设置
"""

# 静态文件配置

STATIC_URL = '/ooo/'  
访问静态文件时,URL必须以此为开头,类似于访问静态文件的令牌,

STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'),
    os.path.join(BASE_DIR,'static1'),
    os.path.join(BASE_DIR,'static2'),
]
组建静态文件目录列表,URL摒除STATIC_URL设置的value后,以剩下的path从上到下的在静态文件目录列表中匹配。


# 静态文件动态解析
用于STATIC_URL可能发生修改的情况下,造成html文件无法正常引用
"""

    {% load static %}
    <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
    <script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>
    
"""

当你在写django项目的时候 可能会出现后端代码修改了但是前端页面没有变化的情况
浏览器缓存的问题
		settings
			network
				disable cache 勾选上	
"""

request对象方法初识

在django框架中,经过wsgi解析处理后,浏览器请求被包装成一个request对象,他有众多的方法,常用如下:

request.method # 返回请求方式 并且是全大写的字符串形式  <class 'str'>
request.POST  # 获取用户post请求提交的普通数据不包含文件
request.POST.get()  # 只获取列表最后一个元素
request.POST.getlist()  # 直接将列表取出
request.GET  # 获取用户提交的get请求数据
request.GET.get()  # 只获取列表最后一个元素
request.GET.getlist()  # 直接将列表取出

"""
get请求携带的数据是有大小限制的 大概好像只有4KB左右
而post请求则没有限制
"""
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值