Django框架搭建和初识

Django框架搭建

  1. pip install django==2.2 下载django框架
  2. 新建django 项目
  3. django 项目下文件夹与项目同名的为主文件,其他为app文件
  4. 主文件下settings.py为配置django框架的文件,可配置语言、时区、添加app功能等
  5. 除创建Django项目时可创建app外,在命令行内输入django-admin startapp 加APP名也可以创建APP
  6. 在file-settings-live templates 可添加代码块快捷短语
  7. 在pycharm右上角可设置,ctrl+shift+f10快捷启动django框架,链接端口80为浏览器端口
web运行原理
  1. 网页由协议、主服务器、url、构成
  2. 网页通过主服务器、url 找到数据库中相关内容
  3. 通过相同的协议进行格式上的统一
  4. 数据库在通过相同协议返回给网页对应服务器和URL的内容
路由文件地址拼接及添加命名空间
  1. 总路由url.py中定义路由映射urlpatterns下添加app路径和处理器及命名空间
  2. 进入各app的url.py文件中写入urlpatterns关联拼接路径
  3. 在各app的view文件中写入处理器
添加命名空间的两种形式
  1. 在路由映射urlpatterns 下添加命名空间namespace
urlpatterns = [
    path('admin/', admin.site.urls),
    path('user', include(('user.urls','user'),namespace='user')),
    path('goods',include(('goods.urls','goods'),namespace='goods')),
]

  1. 也可以直接更改app下子路由文件url.py内直接添加命名
urlpatterns = [
    path('',views.index_handler,name='user_index'),
]
  1. 正则参数传递与接收
  2. 基础正则表达式
  3. 用户主页案例
基础正则表达式
表达式说明
.除了\n和\r的所有字符
\d数字
\D非数字
\w数字字母和下划线
\W非数字字母和下划线
\s空格(包括制表符、换页符)
--------------------------------------------------------------------
*出现次数>=0
+出现次数>=1
{n}出现次数=n
{n,m}m>=出现次数>=n
^以开头
$以结尾
  1. 添加正则表达式路由映射
urlpatterns = [
    path('',views.index_handler,name='index'),
    #re_path('(\d+)',views.re_handler,name='re'),
    re_path('^(\w+.*\d+)$',views.user_handler),
]
  1. 建立处理器

def user_handler(request,username):
    return  HttpResponse('你好:%s'%username)
反向解析处理器
  1. 通过导入reverse,建立reverse处理器反向解析打印路由映射地址
def reverse_handler(request):
    print(reverse('user:index'))
    print(reverse('user:re',args=('1234',)))
    return HttpResponse('reverse')
  1. 在url中建立reverse的路由映射
urlpatterns = [
    path('',views.index_handler,name='index'),
    re_path('(\d+)',views.re_handler,name='re'),
    re_path('^(\w+.*\d+)$',views.user_handler),
    path('reverse',views.reverse_handler)
]
request对象和Response对象
  1. 客户端向服务器发送request请求,服务器接收请求后向客户端发送返回对象Response
Request对象

Django中的Rquest对象:HttpRequest

关键之说明
method返回请求的方式(GET/POST)
path返回页面的路径(不包括域名)
MATA封装请求头的数据,(字典类型,key大写,下划线连接)REMOTE_ADDR,客户端的IP地址,CONTENT_TYPE ,请求正文的MIME类型,-text/html HTML,-text/piain 普通文本,-application/json Json
GET封装GET请求数据的QueryDict对象
POST封装POST请求数据的QueryDict对象
FILES封装上传文件数据
COOKIES封装请求的cookies,类似字典的对象
session可以读写的类似字典的对象
HttpResponse对象

HttpResponse(
content=‘响应体’
content_type=‘MIME类型’
status=‘状态码’

常见的状态码

状态码解释
200请求成功
400客户端请求语法错误
403服务器拒绝请求
404没有找到对应的页面
500服务器内部错误
JsonResponse对象

from django.http improt JsonResponse

def json_handler(request):
return JsonResponse(
{‘edu’:‘csdn学院’},
{‘course’:‘Python’},
json_dumps_params={‘ensure_ascii’:‘False’}
)

注释:若jsonresponse中出现中文,需加json_dumps_params={‘ensure_ascii’:‘False’}保证中文的正确显示
重定向

from django.shortcuts import redirect

def redirect_handler(request):
#重定向到用户首页
return redirect(’/user’)

#通过reverse配合重定向
from django.shortcuts import reverse

def redirect_handler(request):
#重定向到用户首页
return redirect(reverse('user:index))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值