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()
相关推荐
好难取啊2 分钟前
[python学习]案例01:随机验证码与账号密码修改
python
秋邱11 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
2501_9411444228 分钟前
Python + C++ 异构微服务设计与优化
c++·python·微服务
ChoSeitaku1 小时前
线代强化NO19|矩阵的相似与相似对角化
python·线性代数·矩阵
sniper_fandc1 小时前
Coze智能体实现人生模拟器
python·ai·agent·coze
white-persist2 小时前
【攻防世界】reverse | Reversing-x64Elf-100 详细题解 WP
c语言·开发语言·网络·python·学习·安全·php
FeiHuo565152 小时前
微信个人号开发中如何高效实现API二次开发
java·开发语言·python·微信
love530love2 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
u***32437 小时前
使用python进行PostgreSQL 数据库连接
数据库·python·postgresql
青瓷程序设计9 小时前
动物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习