Djangohtml 模板

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值