创建django目录
"d:\python\script\django-admin.exe" startproject 项目名称
搭建app
# 创建app
python manage.py startapp app01
# 在setting上注册app
INSTALLED_APPS = [
'app01.apps.App01Config',
]
# 在views上写逻辑
def index(request):
return HttpResponse("欢迎使用django")
# 在urls上写路由对应关系
urlpatterns = [
path('index/', views.index),
]
直接返回html 之模板语言
# 新建templates目录存放html
# 新建static目录存放js/css/img等
# 需要配合render()响应
def user_list(request):
return render(request, "user_list.html", {lis:lis})
# html的模板格式
{% load static %} # 置顶
<!DOCTYPE html>
# 接收字符串
<div>{{ name }}</div>
# 接收列表第一个元素
<div>{{ lis.0 }}</div>
# 接收字典的key对应的值
<div>{{ item.key }}</div>
# for循环
{% for i in lis %}
<span>{{ i }}</span>
{% endfor %}
# 条件判断
{% if name == "hyman" %}
<h1>很帅</h1>
{% else %}
<h1>一般</h1>
获取请求和响应
# 1. 获取请求方式
print(request.method)
# 2. 获取URL上传递的数据 /index/?n1=123&n2=999
print(request.GET)
# 3. 获取form提交的数据
print(request.POST)
一, 返回
return HttpResponse("返回html字符")
二, 返回页面
return render(request, '1.html', {"key": "key"})
三,从定向到其他页面
return redirect("https://www.baidu.com")
获取POST提交信息
def func(request):
# 获取请求方法是什么
print(request.method)
# 获取请求体中提交的数据,得到一个querydict
print(request.POST)
# 重定向跳转
if request.POST["user"] == "hyman":
return redirect("https://www.baidu.com")
解决POST提交时的403报错
<form method="post" action="/login/">
{% csrf_token %}
<input type="text" name="user" placeholder="用户名">
<input type="submit">
</form>
orm模型操作数据库
# 第一步安装mysqlclient模块
pip install mysqlclient
# 在set上配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '库名',
'USER': 'root',
'PASSWORD': '123',
'HOST': '81.68.87.91',
'PORT': '3306',
}
}
# 在models模块上创建表,一个类就是一个表
class UserInfo(models.Model):
name = models.CharField(max_length=255)
age = models.IntegerField()
--------------------------------------------------
在执行命令保存
python manage.py makemigrations
python manage.py migrate
# 在views模块CRUD
from models import UserInfo
def func(request):
# 查,queryset本体是数组套对象 [{对象1},{数据2}]
data_queryset = UserInfo.objects.all()
# 增,create一条数据就是一个对象
UserInfo.objects.create(name="Hyman", age=19)
# 改,filter
UserInfo.objects.filter(name="Hyman").update(age=20)
# 删除,delete
UserInfo.objects.filter(id=1).delete()
return HttpResponse("OK")