Django简介
一 django的下载与启动
(1)下载Django
方式一:在命令行输入:pip3 install django
方式二:用pycharm安装
方式三:用pycharm的Terminal的命令行安装
D:(切换到D盘下)
(2)创建一个django project
django-admin startproject mysite
(3) 在mysite目录下创建应用
python manage.py startapp app01
(4)启动django项目
(1)启动django--python3
python manage.py runserver 127.0.0.1:8002
python manage.py runserver 8002
python manage.py runserver
(2)pycharm启动:1 跟上面一样
2 点绿色的箭头
不是点右键运行
(3)停止 ctrl+c
二 目录介绍
settings--django全局配置文件
urls---路由关系
app:
命令:manage.py startapp app01
目录:
migrations:数据库迁移的文件
admin:后台管理相关
apps:app配置相关
models:模型,数据库相关,写一些类
test:测试相关
views:视图函数
settings:
DEBUG (测试时候设置为True 上线设置为False)
INSTALLED_APPS---》放app的名字
MIDDLEWARE--》中间件
TEMPLATES---》指定我模板文件放的路径
DATABASES---》指定连接的数据库
静态文件配置:(名字一定不能错)
STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'),
]
三件套(返回数据):
# render 模板渲染
# HttpResponse 返回字符串
# redirect 重定向
三 简单配置
1 - 模板路径———>给render使用 template目录 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', ], }, }, ] 2 - 静态文件路径 static目录 STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), ) 3 - 额外配置 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', //注释掉 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
四 url对应关系
/login/ login def login(request): request.method request.POST -->请求体 request.GET --> 请求头中的url中 return HttpResponse(..) return.render(request,'login.html',{...}) return redirect('要跳转的网址url') GET请求---> 只有request.GET POST请求---> request.GET和request.POST都可能有值
五 模板引擎只能特殊标记
login.html {{ name }} def login(request): return render(request,'login.html',{{ 'name':'poi' }})