Django学习笔记
1.Django的安装
//如果不指定版本号,默认安装最新版
pip3 install django==1.11.8
关于Django的版本和python的版本依赖关系,请看下图
Django版本 | Python版本 |
1.8 | 2.7,3.2(until the end of 2016),3.3,3.4,3.5 |
1.9,1.10 | 2.7,3.4,3.5 |
1.11 | 2.7,3.4,3.5,3.6 |
2.0 | 3.4,3.5,3.6 |
2.1 | 3.5,3.6,3.7 |
2.查看Django是否安装成功
#进入Python的命令交互模式
python3
import django
django.get_version()
或者在命令行中直接使用
python3 -m django --version
3.创建Django项目,通过命令行创建
1.创建项目
django-admin startproject 项目名称
2.创建app,一个项目工程中可以包含多个app
python3 manage.py startapp APP名称
创建完成之后的项目目录
3.运行服务
python3 manage.py runserver 127.0.0.1:8080(ip和端口号可以自己指定)
4.运行一个简单的django程序
1.view中定义好自己的视图
新手Django使用最多的就是 HttpResponse ,render,redirect这三个类库
from django.shortcuts import render,redirect
from django.http import HttpResponse
# 可以向浏览器返回字符串
# return HttpResponse('hello web')
# 向浏览器返回页面
# render是一个方法,第一个参数传request对象,第二个参数是模> 板文件的名字
# return render(request,'index.html')
# 返回重定向
#return redirect('http://www.baidu.com')
2.urls中定义好转发的路由
#采用类视图的模式'''
# Python的正则表达式中,命名组的语法是(?P<name>pattern),其中name是组的名称,pattern是要匹配的模式。
# 捕获的值作为关键字参数而不是位置参数传递给视图函数
# 不用命名组的时候参数是按照位置参数传递给视图函数 views.detailView(request,233)
# url(r'^([0-9]+)/$',views.detailView.as_view(),name='detail'),
url(r'^$',views.indexView.as_view(),name='index'),
#实质就是调用函数 views.detailView(request,pk=233),id就是前面正则小括号中的值
url(r'^(?P<pk>[0-9]+)/$',views.detailView.as_view(),name='detail'),
url(r'^(?P<pk>[0-9]+)/results/$',views.resultView.as_view(),name='results'),
<!--常用模式-->
# 匹配polls/一位或多位数字/vote/ 调用函数并传值 view.vote(request,id)
url(r'^(?P<question_id>[0-9]+)/vote/$',views.vote,name='vote'),
url(r'csvfile/(?P<question_id>[0-9]+)/$',views.scv_view,name='csv_file'),
url(r'streaming_csv/$',views.some_streaming_csv_view,name="streaming_csv"),
url(r'pdffile/$',views.pdf_view,name='pdf-name'),
url(r'complex_pdf/$',views.complex_pdf,name='complex_pdf'),
3.直接运行 并访问对应的路径就可以看到自己返回的信息