Django(快速上手版)

Django 是一个**全栈(Full-Stack)Python Web 开发框架,**内置了数据库抽象层、ORM、用户认证、后台管理、模板引擎、URL 路由、表单处理等常用功能,开发者无需重复造轮子,只需专注业务逻辑。

1、创建django项目

安装django

复制代码
pip install django

创建django项目

复制代码
django-admin startproject mydjango

创建django的app

复制代码
python manage.py startapp myapp

2、django项目目录

django的主目录

manage.py 项目的管理、启动项目、创建app、数据管理(不要动)

项目名称

init.py

settings.py 项目配置

urls.py URL和函数对应关系

asgi.py 接收网络请求(不要动)

wsgi.py 接收网络请求(不要动)

django的app目录

app

init.py

admin.py 固定,不用动 adjango默认提供了admin后台管理

apps.py 固定,不用动 app启动类

migrations 固定,不用动 数据库变更记录

init.py

models.py 重要 对数据库操作

tests.py 固定,不用动 单元测试

views.py 重要,函数

注册app

在app/init.py中声明

在setting.py中添加如下

3、编写url与视图函数对应关系,urls.py

并在view.py中编写对应函数

4、启动django项目

pycharm启动

命令行启动

复制代码
python manage.py runserver

5、web页面

1) 页面跳转,将页面放到app目录的templates目录下

复制代码
def user_list(request):
    # 默认去app目录下的templates目录下找user.html,根据App的注册顺序逐一去templates目录下找
    return render(request, "user.html")

2)静态文件,放到app目录的static目录下

6、django模板语法的学习

1)参数传递

2)列表for循环展示

复制代码
{% for n in n2 %}
    <span>{{ n }}</span>
{% endfor %}

3)map获取

复制代码
<div>
    {% for k,v in n3.items %}
        <span>{{ k }} = {{ v }}</span><br>
    {% endfor %}
</div>
<hr>
<div>
    {% for k in n3.keys %}
        <span>{{ k }}</span><br>
    {% endfor %}
</div>
<hr>
<div>
    {% for v in n3.values %}
        <span>{{ v }}</span><br>
    {% endfor %}
</div>
<hr>
<div>{{ n3.name }}</div>

4)条件语句

复制代码
{% if n3.name == "zhangsan" %}
    <span>zhangsan</span>
{% elif n3.name == "lisi" %}
    <span>lsi</span>
{% else %}
    <span>kkk</span>
{% endif %}

7、请求和响应

复制代码
def index(request):
    #request是一个对象,封装了用户发送过来是所有请求相关数据
    
    #1、获取请求方式 GET/POST
    print(request.method)
    
    #2、在URL上传递值 /index/?n1=123&n2=999
    print(request.GET)
    
    #3.在请求体中提交数据
    print(request.POST)
    
    #4、将字符串内容返回给请求者
    # return HttpResponse("欢迎使用")

    #5、返回页面,读取HTML的内容 + 渲染(替换)->字符串,返回给用户浏览器
    # return render(request, "user.html", {"n3": map})
    
    #6、响应,让浏览器重定向到其它页面
    return redirect("https://www.baidu.com")

8、数据库操作

1)安装第三方模块

复制代码
pip install mysqlclient

2) ORM

ORM帮助做两件事:

创建、修改、删除数据库中的表(不用写SQL)

操作数据表中的数据

3)连接数据库,在setting.py文件中

复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'micro_analysis',
        'USER': 'root',
        'PASSWORD': 'Zjx123456#',
        'HOST': '62.234.175.16',
        'PORT': 3306
    }
}

4)django操作表

①创建表

在app目录下的models.py文件

执行命令:

注意:要在根目录下执行语句,同时app要注册

python manage.py makemigrations

python manage.py migrate

②增删改查

示例:增加记录
复制代码
from myapp.models import User  
  
# 创建一个新的User对象  
new_user = User(name='John Doe', email='johndoe@example.com', age=30)  
  
# 将对象保存到数据库中  
new_user.save()
示例:查询记录
复制代码
# 查询所有User对象  
all_users = User.objects.all()  
  
# 查询名为'John Doe'的用户  
john_doe = User.objects.get(name='John Doe')  
  
# 查询年龄大于25岁的用户  
users_over_25 = User.objects.filter(age__gt=25)
示例:更新记录
复制代码
# 获取一个已存在的User对象  
existing_user = User.objects.get(name='John Doe')  
  
# 修改该对象的字段  
existing_user.age = 31  
  
# 保存修改到数据库中  
existing_user.save()
示例:删除记录
复制代码
user_to_delete = User.objects.get(name='John Doe')  
  
# 删除该对象  
user_to_delete.delete()
相关推荐
2601_962297485 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
“AI国潮设计-小江”5 小时前
Python实战 | SDXL精准控制“普宁英歌舞×星空蛋糕”IP落地,附核心Prompt与商用授权思路
开发语言·人工智能·python·prompt·aigc
公爵爱学习5 小时前
无人机视觉识别前序-Linux-YOLO安装
python·yolo·计算机视觉·conda·无人机
2601_962295335 小时前
使用python实现一个浏览器自动化的脚本
python·脚本·rpa·浏览器自动化·操作
小刘在重生~6 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
大汉堡玩测试7 小时前
langfuse测试实战(一): 配置一个简单的项目快速落地
python·测试工具
一位正在转型AI全栈的前端工程师7 小时前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
长江后浪博客7 小时前
Python + YOLOv8 疲劳驾驶 AI 视觉检测入门:从模型训练到 ONNX 实时摄像头检测完整实战
人工智能·python·yolo·疲劳驾驶检测·onnx·yolov8
hhzz8 小时前
【OpenCV 入门到精通 01】认识 OpenCV 与计算机视觉:从零建立全局认知
人工智能·python·opencv·计算机视觉·开源
一马平川的大草原8 小时前
如何实现SVG转Mermaid图
python·svg·格式转换·mermaid