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()