zoukankan      html  css  js  c++  java
  • 从零到Django大牛的的进阶之路01

    搭建

    创建虚拟环境

    • mkvirtualenv django_py3_1.11 -p python3

    安装Django

    • pip install django==1.11.11

    创建工程

    • django-admin startproject 工程名称
    • 工程目录
      • settings.py 是项目的整体配置文件。

    urls.py 是项目的URL配置文件。

    wsgi.py 是项目与WSGI兼容的Web服务器入口。

    manage.py 是项目管理文件,通过它管理项目。

    运行开发服务器

    • python manage.py runserver ip:端口

    创建子应用

    • python manage.py startapp 子应用名称
    • 子应用目录
      • admin.py 文件跟网站的后台管理站点配置相关。

    apps.py 文件用于配置当前子应用的相关信息。

    migrations 目录用于存放数据库迁移历史文件。

    models.py 文件用户保存数据库模型类。

    tests.py 文件用于开发测试用例,编写单元测试。

    views.py 文件用于编写Web应用视图

    • 注册安装子应用
      • 将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中

    创建视图

    from django.http import HttpResponse
    def index(request):

    """
    
    index视图
    
    :param request: 包含了请求信息的请求对象
    
    :return: 响应对象
    
    """
    
    return HttpResponse("hello the world!")
    

    定义路由URL

    • 在子应用中新建一个urls.py文件用于保存该应用的路由。
    • 在工程总路由demo/urls.py中添加子应用的路由数据。

    配置、静态文件与路由

    配置文件

    • BASE_DIR
      • 当前工程的根目录
    • DEBUG
      • 调试模式,创建工程后初始值为True
    • 本地语言与时区

    静态文件

    • STATICFILES_DIRS 存放查找静态文件的目录
    • STATIC_URL 访问静态文件的URL前缀

    路由说明

    • 从主路由文件中的urlpatterns列表中以由上至下的顺序查找对应路由规则,如果发现规则为include包含,则再进入被包含的urls中的urlpatterns列表由上至下进行查询。

    reverse反解析

    • 在使用include函数定义路由时,可以使用namespace参数定义路由的命名空间
    • 在定义普通路由时,可以使用name参数指明路由的名字
    • 使用reverse函数,可以根据路由名称,返回具体的路径

    请求响应

    请求

    • URL路径参数
      • 可以使用正则表达式提取参数的方法从URL中获取请求参数
        • 未命名参数按定义顺序传递
        • 命名参数按名字传递
    • QueryDict对象
      • HttpRequest对象的属性GET、POST都是QueryDict类型的对象
      • 方法get():根据键获取值
      • 方法getlist():根据键获取值,值以列表返回,可以获取指定键的所有值
    • 查询字符串Query String
      • request.GET属性获取
    • 表单类型 Form Data
      • 可以通过request.POST属性获取,返回QueryDict对象。
    • 非表单类型 Non-Form Data
      • 可以通过request.body属性获取最原始的请求体数据,

    响应

    • HttpResponse
      • HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)
    • JsonResponse
      • 若要返回json数据,可以使用JsonResponse来构造响应对象
    • redirect重定向
  • 相关阅读:
    【SICP练习】80 练习2.52
    【SICP练习】79 练习2.51
    【SICP练习】78 练习2.50
    【SICP练习】77 练习2.48-2.49
    【SICP练习】76 练习2.47
    【SICP练习】75 练习2.46
    【SICP练习】74 练习2.45
    【SICP练习】73 练习2.44
    【SICP练习】72 练习2.43
    【SICP练习】71 练习2.42
  • 原文地址:https://www.cnblogs.com/xuchuankun/p/9757805.html
Copyright © 2011-2022 走看看