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