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='[email protected]', 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()
相关推荐
孙胜完不了35 分钟前
Day29
python
lkx0978835 分钟前
第四天的尝试
python
lcccyyy11 小时前
day 29
python
(・Д・)ノ2 小时前
python打卡day29
开发语言·python
有杨既安然2 小时前
Python高级特性深度解析:从熟练到精通的跃迁之路
开发语言·python·数据挖掘·flask
蹦蹦跳跳真可爱5893 小时前
Python----神经网络(《Searching for MobileNetV3》论文概括和MobileNetV3网络)
人工智能·python·深度学习·神经网络
妄想成为master3 小时前
如何完美安装GPU版本的torch、torchvision----解决torch安装慢 无法安装 需要翻墙安装 安装的是GPU版本但无法使用的GPU的错误
人工智能·pytorch·python·环境配置
wanfeng_093 小时前
CMS(plone / joomla 搭建测试)
python·多站点·本地搭建·joomla·plone
浩皓素3 小时前
Python函数库调用实战:以数据分析为例
python
maozexijr4 小时前
什么是 Flink Pattern
大数据·python·flink