Django 基础
Posted allenchen168
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 基础相关的知识,希望对你有一定的参考价值。
目录
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',
],
},
},
]
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 基础的主要内容,如果未能解决你的问题,请参考以下文章
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段