目录
1.django的安装
cmd窗口下载:
不指定版本安装最新:pip3 install django
指定安装1.11.11版本:pip3 install django==1.11.11
验证安装是否成功:django-admin
2.django基本操作(vscode)
创建项目,启动/关闭项目,创建并配置app,配置文件操作
1.创建django项目
(1)cmd切换到需要创建的目录下
(2)创建命令:django-admin startproject mydjango(项目名)
(3)创建完成的文件
mydjango(文件夹)
manage.py
mydjango文件夹
__init__.py
settings.py 配置文件
urls.py 路由与视图函数对应关系(路由层)
wsgi.py wsgiref模块
2.启动django项目
(1)一定要先切换到项目目录下
(2)cmd启动命令:python manage.py runserver
runserver默认ip 端口为127.0.0.1:8000
(3)启动失败:点击最后一个报错信息去源码中把逗号删掉
如:最后一个报错:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/contrib/admin/widgets.py", line 151
'%s=%s' % (k, v) for k, v in params.items(),
意思是:把该文件第151行的"'%s=%s' % (k, v) for k, v in params.items(),"代码最后一个逗号去掉
3.关闭django项目
cmd命令:CTRL+C
4.创建应用即app
cmd命令:python manage.py startapp app01
创建完成文件
-mysite项目文件夹
--mysite文件夹
---settings.py 配置文件
---urls.py 路由与视图函数对应关系(路由层)
---wsgi.py wsgiref模块(不考虑)
--manage.py django的入口文件
--db.sqlite3 django自带的sqlite3数据库(小型数据库 功能不是很多还有bug)
--app01文件夹
---admin.py django后台管理
---apps.py 注册使用
---migrations文件夹 数据库迁移记录
---models.py 数据库相关的 模型类(orm)
---tests.py 测试文件
---views.py 视图函数(视图层)
6.把app01加进项目settings.py配置文件中的INSTALLED_APPS项,相当于注册应用才能用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config', # 全写
'app01' # 简写
]
不加进配置文件,app功能不识别出来
5.配置文件:
当客户端访问,服务端返回对应网页时,通常用templates文件夹存放HTML文件
(1)cmd命令创建不会自动创建templates文件夹
需要手动创建,并且把路径拼接到---settings.py配置文件
即其中原配置信息:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
]
的'DIRS': [],中加templatew拼接路径:os.path.join(BASE_DIR, 'templates')
(2)即手动创建要
创建文件夹templates
拼接路径'DIRS': [os.path.join(BASE_DIR, 'templates')]
3.静态文件配置
1.引入
通常将html文件默认都放在templates文件夹下
而将网站所使用的静态文件默认都放在static文件夹下
静态文件:
能够直接调用使用的文件
比如:
网站写好的js文件
网站写好的css文件
网站用到的图片文件
第三方前端框架
django默认是不会自动帮你创建static文件夹,static文件夹内也应该细分各类文件
2.常识:(1)在浏览器中输入url能够看到对应的资源,是因为后端提前开设了该资源的接口
如果访问不到资源 说明后端没有开设该资源的借口
(2)你在写django项目的时候,可能会出现后端代码修改了但是前端页面没有变化的情况
a.你在同一个端口开了好几个django项目,一直在跑的其实是第一个django项目
b.浏览器缓存的问题,到浏览器配置更改
3.静态文件配置
在settings.py中的STATIC_URL = '/static/'下面添加
# 静态文件配置:
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1'),
os.path.join(BASE_DIR,'static2'),
]
"""
STATIC_URL = '/static/' # 类似于访问静态文件的令牌
如果你想要访问静态文件 你就必须以static开头
如:/static/bootstrap-3.3.7-dist/js/bootstrap.min.js
/static/令牌
取列表里面从上往下依次查找bootstrap-3.3.7-dist/js/bootstrap.min.js文件
都没有才会报错
"""
4.静态文件动态解析
由于令牌更改,那访问文件的前缀令牌也要更改,会很麻烦
让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>
4.django三板斧
在views.py文件中将数据反馈三种
from django.shortcuts import HttpResponse,render,redirect
return HttpResponse('字符串') # 1.直接返回字符串
return render(request,'login.html') # 2.返回html文件
def ab_render(request): # request结合行数:注意图函数必须要接受一个形参request
user_dict = {'username':'jason','age':18} # 数据传值方式1:更加的精确 节省资源
return render(request,'01 ab_render.html',{'data':user_dict,'date':123})
# 数据传值方式2:当你要传的数据特别多的时候
# 前端拿数据data:{{data}}
return render(request,'01 ab_render.html',locals())
# 数据传值方式3:locals会将所在的名称空间中所有的名字全部传递给html页面
# 前端拿数据data:{{data}}
return redirect(url) # 3.重定项,固定返回的页面