1、{% load static %} 注解static文件夹
2、From表单提交tk验证 {% csrf_token %}
3、母版使用
{% extends 'layout.html' %}
{% block content %}
<h1>首页</h1>
{% endblock %}
4、使用后端变量
<input type="text" class="form-control" name="title" placeholder="部门名称" value="{{ row_object.title }}" >
<table class="table table-bordered text-center">
<thead >
<tr class="text-center">
<th class="text-center">部门编号</th>
<th class="text-center">部门名</th>
<th class="text-center" >操作</th>
</tr>
</thead>
<tbody>
{% for item in pat_list %}
<tr>
<td>{{ item.id }}</td>
<td>{{ item.title }}</td>
<td><a class="btn btn-primary btn-xs" href="/depart/{{ item.id }}/edit/">编辑</a>
<a class="btn btn-danger btn-xs" href="/depart/delete/?nid={{ item.id }}">删除</a></td>
</tr>
{% endfor %}
</tbody>
</table>
后端:
def depart_list(request):
data_list= models.Department.objects.all()
return render(request,'depatamet_list.html',{"pat_list":data_list})
def depart_edit(request,nid):
if request.method=="GET":
row_object=models.Department.objects.filter(id=nid).first()
return render(request, "depatamet_edit.html", {"row_object": row_object})
else:
title= request.POST.get("title")
models.Department.objects.filter(id=nid).update(title=title)
return redirect("/depart_list/")
模板语法日期格式化
<td>{{ item.create_time|date:"Y-m-d" }}</td>
python: obj.create_time.strftime("%Y-%m-%d")
model:
gender_choices={
(1,"男"),
(2,"女"),
}
python:
obj.get_gender_display()
字典:
后端
context={
'gender_choices':models.UserInfo.gender_choices,
"depatment_list":models.Department.objects.all()
}
前端
<select class="form-control">
{% for item in gender_choices %}
<option value={{ item.0 }}>{{ item.1 }}</option>
{% endfor %}
</select>
ModelForm:
class userModelForm(forms.ModelForm):
#特定验证
password=forms.CharField(min_length=8,label="密码")
class Meta:
model = models.UserInfo
fields = ["name", "password", "age", "dep", "gender", "create_time", "account"]
# widgets={
# "name":forms.TextInput(attrs={"class":"form-control"}),
#
#
# }
#重写插件
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 循环所有插件应用样式
for name, field in self.fields.items():
print(name,field)
field.widget.attrs = {"class": "form-control", "placeholder": field.label}
def user_modadd(request):
if request.method=="GET":
form = userModelForm()
return render(request, "user_model_add.html", {"form": form})
else:
form=userModelForm(data=request.POST)
if form.is_valid():
form.save()
return redirect("/user_list/")
else:
print(form.errors)
return render(request, "user_model_add.html", {"form": form})
def user_edit(request,nid):
row_object = models.UserInfo.objects.filter(id=nid).first()
if request.method=="GET":
form = userModelForm(instance=row_object)
return render(request, "user_model_edit.html", {"form": form})
else:
form=userModelForm(data=request.POST,instance=row_object)
if form.is_valid():
form.save()
return redirect("/user_list/")
else:
print(form.errors)
return render(request, "user_model_edit.html", {"form": form})