request.POST.getlist('name)#获取多个值
request.FILES()
1.路由系统
url('index/',views.index)
url.path(r'detail-(d+)-(d+).html')
url.path(r'detail-(?P<nid>d+)-(?<uid>d+).html')
2.name:对URL路由关系进行命名,以后可以根据名称生成自己想要的URL
url('index33131/',views.index,name='index)
<form action="{% url 'index' %}" method="post">
url('index33131/(d+)',views.index,name='index)
<form action="{% url 'index' % 2}" method="post">
注释:
request.path_info#获取模板的url
from django.urls import reverse
v= reverse('index',args=(90,))
v= reverse('index',kwargs=('id':1,))
3.url:
from django.urls import path,include
urlpatterns = [
path('文件名/', include('app.urls')),
]
setting配置:
APPEND_SLASH=False
查询数据库时间需要在表头加上:
CAST(create_time AS CHAR) AS create_time
增删改成
models.UserIfo.objects.create(**dic)
查
#querset 类型[]裂变
models.UserIfo.objects.all()
felter是数据库的where
models.UserIfo.objects.felter()
models.UserIfo.objects.felter().first()
删除
models.UserIfo.objects.all.delete()#删除所有
models.UserIfo.objects.felter().delete()#删除指定数据
更新
models.UserIfo.objects.all.update(password='69')
models.UserIfo.objects.felter(id=3).update(password='69')
一对多:
a.外键
b.外键的字段_id
c.odels.UserIfo.objects.create(name='root',user_group_id=1)
d.user_list = models.tb.object.all()
for rou in user_list:
print(rou.id)
row.user_group_id
models.UserIfo.objects.create()
根据类自动创建数据库表:
models.py
python manage.py makemaigrations
python manage.py migrate
字段参数介绍:
null -->db是否可以为空
default -->默认值
primary_key -->主键
db_column -->列名
db_index -->索引
unique -->唯一索引
unique_for_date -->
unique_for_month -->
unique_for_year -->
choices --> django admin中显示下拉框,避免连表查询
auto_now -->创建时,自动生成更新时间
auto_now_add -->更新时,自动更新当前时间
blank -->django admin中是否可以为空
verbose_name -->django admin中显示字段自定义名称
editable --> django admin中是否可以被编辑
error_messages -->错误信息
help_text --> django admin中的提示
validators --> django form,自定义错误信息
下拉框:
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>