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()
相关推荐
ValhallaCoder3 分钟前
Leetcode-hot100(2026.08.17)
python·算法·leetcode
W_326008 分钟前
Python-OpenCV图像像素与通道:通道拆分合并、深浅拷贝
图像处理·人工智能·python·opencv·机器学习
让你三行代码QAQ28 分钟前
AI大模型开发核心名词速览
python
2401_8685347841 分钟前
农商行分布式网络建设
python·pygame
AC赳赳老秦1 小时前
OpenClaw 多源采集公开行业数据:从原始信息到研究报告初稿的自动化实践
java·c语言·c++·python·php·deepseek·openclaw
程序员雷欧2 小时前
AQS深度解析
开发语言·python
玩三国杀玩的2 小时前
Pytorch-c++-CUDA
c++·pytorch·python·深度学习
Albert Edison2 小时前
PyCharm 字体大小设置
ide·python·pycharm
叠层归一研究院2 小时前
如何用程序搭建一个 AGI 种子系统(一):从向量种子到无限生长引擎
人工智能·python·算法·机器学习·agi
l1258653 小时前
# RAG重排序实战:硅基流动bge-reranker-v2-m3在线API vs 本地CrossEncoder,一篇讲透两种方案
数据库·人工智能·python·深度学习·算法·机器学习·langchain