Django零基础-快速了解基本框架笔记-附案例

简介: Django零基础-快速了解基本框架笔记-附案例

初识Django


1. 安装Django

pip install django==4.1 -i https://mirrors.aliyun.com/pypi/simple/
C:\python38
  - python.exe
  - Scripts
    - pip.exe
    - Django-admin.exe    【工具,创建Django项目】
  - Lib
    - 内置模块
    - site-packages
      - openpyxl
      - python-docx
      - flask
      - Django  【框架的源码】


2.创建项目

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


2.1 在终端


  • 打开终端
  • 进入某个目录(项目放在哪里)
D:\PycharmDjango


  • 执行命令创建项目
"C:\Users\lq\AppData\Local\Programs\Python\Python38\Scripts\Django-admin.exe" startproject 项目名称
如果 C:\Users\lq\AppData\Local\Programs\Python\Python38\Scripts 已加入环境变量。
Django-admin startproject 项目名称


2.2 Pycharm


说明:


  • 命令行,创建的项目是标准的。
  • pycharm,在标准的基础上默认加了一些东西。
  • 创建了一个templates目录(删除)
  • settings.py中多出的对应路径


默认项目文件的介绍:

mysite
manage.py   【项目的管理,启动项目、创建app、数据管理】【常用】
asgi.py   【接收网络请求】 【不要动】
wsgi.py   【接收网络请求】 【不要动】
urls.py   【URL和函数的对应关系】 【常操作】
setting.py  【项目配置】 【连接数据库...】 【常操作】


3.APP

- 项目
  - app, 用户管理
  - app, 订单管理
  - app, 后台管理
  - app, 网站
  - app, API
  ...



app01
- apps.py 【固定,不用动】app启动类
migrations 【固定,不用动】数据库变更纪录
tests.py  【固定,不用动】单元测试
admin.py  【固定,不用动】Django默认提供一个admin后台管理功能
views.py  【重要】函数
models.py  【重要】对数据库操作


4.快速上手


  • app注册【setting.py】


  • 编写URL和视图函数对应关系【urls.py】


  • 编写视图函数【views】


启动Django项目


  • 命令行启动
python manage.py runserver


  • Pycharm启动


4.1 添加页面

- url -> 函数



4.2 templates模板


4.3 静态文件


在开发过程中一般将:


  • 图片
  • CSS
  • js


当做静态文件处理


4.3.1 static目录


在app目录下创建static


4.3.2 引用静态文件


5.模板语法


案例:新闻中心


1.创建url和视图对应关系


2.编写视图函数


3.使用模板显示数据


6.请求和响应


渲染:


  • 字符串
  • 列表
  • 字典
  • 列表套字典


案例:用户登录


7.数据库操作


利用ORM框架,不用进行SQL语句编写,使用ORM语法执行后可以自动生成SQL语句传给数据库。


7.1 安装模块

pip install mysqlclient


7.2 ORM


ORM可以帮助我们做两件事:


  • 创建、修改、删除数据库的表【无法创建数据库】
  • 操作表中的数据


1.创建自己的数据库


  • 启动MySQL服务
net start mysql57


  • 利用自带工具创建数据库
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


2. Django连接数据库


在settings.py中进行配置修改


ENGINE:数据库类型
NAME:数据库名称
USER:用户名
PASSWORD:abc123.
HOST:连接的主机地址
PORT:连接的主机端口


3. Django操作表


  • 创建表
  • 删除表
  • 修改表


创建表:在models.py文件中

from django.db import models
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField


执行命令:

python manage.py makemigrations
python manage.py migrate


注意:app需要提前注册。


在表中新增列时,由于表中已有数据,所以在新增列时需要指定列的值


  • 固定值
age = models.IntegerField(default=2)


  • 允许为空
data = models.IntegerField(null=True, blank=True)


ORM增删改查:

def orm(request):
    # 1.增加数据
    # UserInfo.objects.create(name="刘备")
    # UserInfo.objects.create(name="关羽")
    # UserInfo.objects.create(name="张飞")
    # 2.删除数据
    # UserInfo.objects.filter(id=3).delete()
    # 3.查看数据,获取数据 获取的数据为对象形式
    # data_list = UserInfo.objects.all()
    # for obj in data_list:
    #     print(obj.name, obj.password, obj.age)
    # 4.更新数据
    # UserInfo.objects.filter(id=1).update(password=999)


案例:用户管理


1. 展示用户列表


  • url
  • 函数
  • 获取所有用户信息
  • HTML渲染
def info_list(request):
    data_list = UserInfo.objects.all()
    return render(request, "info_list.html", {"data_list": data_list})
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="/info_add">添加</a>
<table border="1">
    <thead>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>密码</th>
            <th>年龄</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
    {% for obj in data_list %}
        <tr>
            <th>{{ obj.id }}</th>
            <th>{{ obj.name }}</th>
            <th>{{ obj.password }}</th>
            <th>{{ obj.age }}</th>
            <th>
                <a href="/info_delete/?uid={{ obj.id }}">删除</a>
            </th>
        </tr>
    {% endfor %}
    </tbody>
</table>
</body>
</html>


2. 添加用户


  • url
  • 函数
  • GET,看到页面,输入内容。
  • POST,提交->写入到数据库。
def info_add(request):
    if request.method == 'GET':
        return render(request, "info_add.html")
    user = request.POST.get("user")
    pwd = request.POST.get("pwd")
    age = request.POST.get("age")
    UserInfo.objects.create(name=user, password=pwd, age=age)
    return redirect("/info_list")
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>添加用户</h1>
    <form method="post">
        {% csrf_token %}
        <input type="text" name="user" placeholder="用户名">
        <input type="text" name="pwd" placeholder="密码">
        <input type="text" name="age" placeholder="年龄">
        <input type="submit" value="提 交">
    </form>
</body>
</html>


3. 删除用户


  • url
  • 函数
  • GET,传入id删除
def info_delete(request):
    uid = request.GET.get("uid")
    UserInfo.objects.filter(id=uid).delete()
    return redirect("/info_list")
目录
相关文章
|
12天前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
|
12天前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
|
13天前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
13天前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
12天前
|
人工智能 BI 数据处理
【优秀python django系统案例】基于python的医院挂号管理系统,角色包括医生、患者、管理员三种
本文介绍了一个基于Python开发的医院挂号管理系统,该系统包含医生、患者、管理员三种角色,旨在优化挂号流程,提高医疗服务质量和管理效率,并通过信息化手段提升患者就医体验和医院运营决策的数据支持能力。
【优秀python django系统案例】基于python的医院挂号管理系统,角色包括医生、患者、管理员三种
|
14天前
|
前端开发 关系型数据库 MySQL
Python基于Django框架图书管理系统,Bootstrap框架UI,后台EasyUI框架UI,有登录,实现增删改查的富文本效果
本文介绍了一个使用Python Django框架开发的图书管理系统,该系统采用Bootstrap框架进行前端UI设计,EasyUI框架用于后台UI界面,集成了富文本编辑器,并实现了登录及增删改查功能。
|
5天前
|
设计模式 API Python
Python Web:Django、Flask和FastAPI框架对比
Python Web:Django、Flask和FastAPI框架对比
13 0
|
1月前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
43 1
|
2月前
|
前端开发 Python
Django框架中Ajax GET与POST请求的实战应用
Django框架中Ajax GET与POST请求的实战应用
|
2月前
|
前端开发 数据库 开发者
构建高效后端:Django框架在Web开发中的深度解析
**Django框架深度解析摘要** Django,Python的高级Web框架,以其快速开发和简洁设计备受青睐。核心特性包括Model-Template-View架构、ORM、模板引擎和URL路由。通过创建博客应用示例,展示从初始化项目、定义模型、创建视图和URL配置到使用模板的流程,体现Django如何简化开发,提高效率。其强大功能如用户认证、表单处理等,使Django成为复杂Web应用开发的首选。学习Django,提升Web开发效率。【6月更文挑战第24天】
62 1