django 学习笔记
安装 pip Install django
创建项目 django-admin startproject dddddd
进入项目 cd dddddd
创建模块 django-admin startapp app
启动项目 python manage.py runserver
app里面建一个urls文件
demo/urls 引入include,app/urls
from django.urls import path,include
from app import urls
接下来拼接路由
path('mam/', include(urls)),
设置路由app/urls
from home import views
path('', views.index),
在view中设置函数index,返回json或者字符串响应
from django.http import HttpResponse,JsonResponse
HttpResponse(content,status,content_type)
content:响应正文
status:响应状态码
content_type;响应类型比如"image/png","application/json"
def index(request):
return HttpResponse('首页')
return JsonResponse(f)
设置请求方式(MIDDLEWARE屏蔽# 'django.middleware.csrf.CsrfViewMiddleware',)
from django.views.decorators.http import require_http_methods
@require_http_methods(['POST'])
def login(request):
返回模板文件
1.demo 下新建templates文件夹
2.setting中修改TEMPLATES中'DIRS': [os.path.join(BASE_DIR, 'templates')],
3.from django.shortcuts import render
def index(request):
return render(request,'index.html')
'''
获取请求行数据
'''
# print(request.GET.__dir__())
# print(request.GET)
# print(request.GET.getlist('name'))
# print(request.GET.get('name'))
'''
获取请求体数据
'''
# a = json.loads(request.body)
# print(a) #获取所有数据 转换成json
# print(request.POST) # 获取表单数据
'''
获取请求头
'''
# print(request.headers)
# print(request.META)
'''
'SERVER_NAME': 'www.xmind.com',当前服务器名称
'SERVER_PORT': '8000',当前对外服务端口
'REMOTE_ADDR': '127.0.0.1',客户端的ip(代理ip)
'''
'''
获取上传文件列表
'''
print(request.FILES)
'''
响应
'''
# return HttpResponse(content='x',status=201,content_type='text/html')
# content, 响应正文的内容
# status, 响应的状态码
# content_type,响应内容的类型
#响应其他格式.比如图片,常用于开发中,防盗链,资源防盗,资源下载
# content = open('x.png','rb').read()
# return HttpResponse(content=content,status=201,content_type='image/png')
#返回 json格式
# content = {
# "name":"xiaoming"
# }
# import json
# content = json.dumps(content)#转换成字符串
# return HttpResponse(content=content, status=201, content_type='application/json')
# return JsonResponse(content)
#返回不是json格式
# return JsonResponse(content,safe=False)
''' 自定义响应头 '''
# rep = HttpResponse('hell')
# from datetime import datetime
# rep['date'] =datetime.now().timestamp()
# rep['company'] = '123'
#
# return rep
''' 页面跳转站外页面 '''
# from django.http.response import HttpResponseRedirect
#
# return HttpResponseRedirect('http://www.baidu.com')
# rep = HttpResponse('',status=302)
# rep['Location'] = 'http://www.baidu.com'
# from django.shortcuts import redirect
# return redirect('http://www.baidu.com')
''' 页面跳转站内页面'''
#第一种:直接写url地址
from django.shortcuts import redirect
# if not request.GET.get('is_login'):
# return redirect('/book/index')
# return HttpResponse('dengli')
# 第二种方式 : 使用路由别名来生成 url
from django.shortcuts import reverse
url = reverse('b:user_index')
return redirect(url)

浙公网安备 33010602011771号