第三章 Django
3.1 下载
Django1.11最后一个版本支持python2.7
命令行:pip3 install django==1.11.21 -i 指定源地址( https://pypi.tuna.tsinghua.edu.cn/simple)
Pycharm:settings-解释器-下载django
3.2 Django项目
1. 创建
命令行
项目文件夹:django-admin startproject 项目名称
自动生成项目目录
虚拟环境和当前环境
虚拟环境:支持python提供的包
使用pycharm默认会创建templates文件夹
mysite/ #文件夹名
├── manage.py # 管理文件
└── mysite # 项目目录
├── __init__.py
├── settings.py # 配置
├── urls.py # 路由 --> URL和函数的对应关系
└── wsgi.py # runserver命令就使用wsgiref模块做简单的web server2. 启动
命令行
# 命令行启动django # cd 项目根目录,默认127.0.0.1:8000 python manage.py runserver # 修改默认端口,指定端口80 python manage.py runserver 80 # 修改默认ip,指定ip和端口0.0.0.0:80, 上线时使用 python manage.py runserver 0.0.0.0:80 # 修改settings ALLOWED_HOSTS=[‘*‘]
2.pycharm中启动
- 项目中的文件夹名尽量不要更改
- 简单使用
# 修改urls.py, 运行时需要运行django项目
from django.shortcuts import HttpResponse, render
# request为请求数据
def index(request):
# 返回字符串
return HttpResponse(‘index‘)
# 返回页面,模板:html文件,放在templates中
return render(request, ‘index.html‘)
urlpatterns = [
url(r‘^admin/‘, admin.site.urls),
url(r‘index/‘, index)
]3. Django基础必备三件套
from django.shortcuts import HttpResponse, render, redirect
HttpResponse
内部传入一个字符串参数,返回给浏览器。
def index(request):
# 业务逻辑代码
return HttpResponse("OK")render
除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。
将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)
def index(request):
# 业务逻辑代码
return render(request, "index.html", {"name": "henry", "hobby": ["movies", "reanding"]})redirect
接受一个URL参数,表示跳转到指定的URL
def index(request):
# 业务逻辑代码
return redirect("/home/")