Django学习笔记---第一天

时间:2019-03-15
本文章向大家介绍Django学习笔记---第一天,主要包括Django学习笔记---第一天使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Django学习笔记

1.Django的安装

//如果不指定版本号,默认安装最新版
pip3 install django==1.11.8

关于Django的版本和python的版本依赖关系,请看下图








Django版本Python版本
1.82.7,3.2(until the end of 2016),3.3,3.4,3.5
1.9,1.102.7,3.4,3.5
1.112.7,3.4,3.5,3.6
2.03.4,3.5,3.6
2.13.5,3.6,3.7

Djano的版本支持路线

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.直接运行 并访问对应的路径就可以看到自己返回的信息