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()
相关推荐
Thneonl4 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
清桔4 小时前
模型的调用
python
小小张说故事4 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
10年前端老司机4 小时前
干货分享|企业智能知识库 Rerank 重排序落地实践与踩坑总结
python·aigc·agent
天天被压力4 小时前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·人工智能·python
天天被压力4 小时前
【Python 量化取数指南 #14】Python 清洗行情数据:复权停牌对齐,回测不翻车
java·人工智能·python
Python私教4 小时前
Python环境配置:conda+PyCharm+换源,附6个坑
人工智能·python·pycharm
databook4 小时前
检测数据异常值的五种统计技术
python·数据挖掘·数据分析
小小张说故事4 小时前
Selenium 装驱动太麻烦?Playwright 入门指南:Python 网页自动化新标准
python
海宇数科4 小时前
Python数据工程:利用海宇车型识别精准优化车险理赔合规体验
人工智能·python