加载模板
django.template.loader这个模块提供了两种方法加载模板
- 加载指定模板并返回Template对象
get_template(template_name,using=None)
- 它与get_template类似,它尝试每个名称并返回第一个存在的模板
select_template(template_name_list,using=None)
- 从文件加载内容
from django.template import Context.loader
def index(request):
t=loader.get_template("test.html")
context={
'name':'hello world'}
return HttpResponse(t.render(context,request)) #render的作用是一行一行读取模板的内容,然后替换掉{
{}}里面的内容
模板的快捷方式 render() 这是封装之后的
from django.shortcuts import render
def index(request):
context={
'name':'reboot'}
return render(request,'test.html',context)
修改密码
Django 不会在user模型上存储原始的(明文)密码,而只是一个哈希,因为这个原因,不要尝试直接操作user的password属性,这也是为什么创建一个user时要使用辅助函数。
from django.contrib.auth.models import User
u=User.objects.get(username='rock')
u.set_password('654321')
u.save()
补充:form表单默认提交数据的方式为urlencoded编码,只要是urlencoded编码,http请求的body体中的数据为k1=value1&k2=value2,Django框架会从body体里面把数据拿出来放到POST里面。这时我们只需要通过request.POST.get(‘XXX’)就可以了
如果我们指定编码格式为json格式:Http请求的body体里面的数据格式为:"{“key1”:“value1”,“key2”:“value2”},这个时候Django框架不会给我们处理,需要我们后台来处理,将处理好的数据放到POST里面. json_dict=json.loads(request.body) request.POST=json_dict
前端部分代码:
<body>
<p>用户名:<input type="text" id="name"></p>
<p>pwd:<input type="text" id="pwd"></p>
<button id="btn">提交</button>
$("#btn").click(function () {
$.ajax({
url: '/login/',
type: 'post',
//contentType:'application/json',
//把字典类型转成字符串
//data:JSON.stringify({
name:$("#name").val(),pwd:$("#pwd").val()