DJANGO_PART 1

DJANGO_PART 1

1. 安装DJANGO

安装语句:pip install django

2. 创建项目

django中项目会有一些默认的文件和默认的文件夹

  • 终端创建

    • 打开终端,进入某个目录(项目的地址)
    • 执行命令创建项目:startproject ProjectName(如果已加入环境系统环境变量:django-admin startproject ProjectName)
  • PyCharm创建

    • 注意:

    • 选择项目目录(项目存放的地址,不是python安装的地址)

    • 命令行创建的项目是标准的;pycharm在标准的基础上默认添加了:

      • templates目录(暂时不需要,可删除)

      • settings.py添加了一句(暂时不需要,可删除):

        image-20240508104305110

  • 默认项目的文件介绍

    image-20240508104648090

    • manage.py(项目的管理,启动项目、创建app、数据管理,一般不用动)
    • djangoLearning(与项目文件同名的文件夹)
      • __ init __.py
      • settings.py(项目配置)
      • urls.py(url和函数的对应关系)
      • asgi.py(默认,接收网络请求,一般不用动)
      • wsgi.py(默认,接收网络请求,一般不用动)

3. APP概念

举例:

  • 项目
    • app,用户管理
    • app,订单管理
    • app,后台管理

一个项目往往有多个app,也可只有一个app

  • APP的创建:python manage.py startapp AppName

  • APP默认文件结构

    image-20240508110125402

    • migrations(固定,一般不用动)(数据库变更记录)
      • __ init __.py(固定,一般不用动)
    • __ init __.py
    • admin.py(固定,一般不用动)(django默认提供了admin后台管理)
    • apps.py(固定,一般不用动)(app启动类)
    • models.py(对数据库进行操作)
    • tests.py(固定,一般不用动)(单元测试)
    • views.py(一般在这里调用函数)

4. 快速上手

  • 确保app已注册

    image-20240508111259496

  • 编写url和视图函数对应关系

    image-20240508111907590

  • 编写视图函数

    image-20240508112133884

  • 启动项目

    • 命令行启动:python manage.py runserver

    • pycharm启动:

      image-20240508112741050

      image-20240508112659068

    • 打开链接:

      image-20240508112922941

    • 再写一个页面:

      image-20240508160654399

      image-20240508160728278

      image-20240508162335685

5. templates

  • 引入静态html页面

    image-20240508161839549

    image-20240508161912108

    image-20240508162829676

  • 注意

    • 优先去项目根目录的templates中寻找html文件(必须要提前先配置,不配置没有用)
    • 根据app的注册顺序,在每个app下的templates目录中寻找

6. 引入其它静态文件

在开发过程中一般将图片、css、js、都当作静态文件处理

  • static目录:在app目录下创建static文件夹

    image-20240508164417351

  • 引用静态文件

    image-20240508164703189

    image-20240508165219093

7. 模板语法

本质上就是:在HTML中写一些占位符,由数据对这些占位符进行替换和处理

  • 字符串

    image-20240508170548782

    image-20240508170643937

  • 列表

    • 显示列表的单个元素:

      <div>
          {{ list.1 }}
      </div>
      
    • 遍历列表:

      <div>
          {% for item in list %}
              <span>{{ item }}</span>
          {% endfor %}
      </div>
      

    image-20240508171202947

    image-20240508171219737

  • 字典

    • 显示整个字典:

      <div>
          {{ dict }}
      </div>
      
    • 显示字典的某个元素:

      <div>
          <span>{{ dict.name }}</span>
          <span>{{ dict.age }}</span>
          <span>{{ dict.job }}</span>
      </div>
      
    • 遍历字典:

      <div>
          {% for k, v in dict.items %}
              <span>{{ k }} : {{ v }}</span>
          {% endfor %}
      </div>
      

    image-20240508172323115

    image-20240508172344576

  • 模板语法也支持if语法

    {% if dict.age == 18 %}
        <div>年龄为18岁</div>
    {% else %}
        <div>年龄不为18岁</div>
    {% endif %}
    

    image-20240508182950797

    image-20240508183010039

8. 请求与响应

  • 请求

    # request是一个对象,封装了用户发送过来的所有请求相关的数据
    
    # 获取请求方式:GET/POST
    print(request.method)
    
    # 在url上传递值:http://localhost:8000/reqTest/?name=ausgelebt&age=18
    print(request.GET)
    
    # 在请求体中传递数据
    print(request.POST)
    
  • 响应

    # (响应)HttpResponse("word"),字符串内容返回给请求者
    # return HttpResponse("返回内容")
    
    # (响应)读取html的内容,并渲染/替换
    # return render(request, 'index.html')
    
    # (响应)让浏览器重定向到其它的页面
    return redirect('https://www.baidu.com')
    
  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值