from functools import wraps
def check_user_login(func):
@wraps(func)
def return_wrapper(request, *args, **kwargs):
if not request.user.is_authenticated():
return render_to_response('xxx.html')
else:
return func(request, *args, **kwargs)
return return_wrapper

该函数用来检查用户是否登录,是个装饰器,使用了wraps装饰器来保证被装饰的函数函数名和属性不发生变化。使用is_authenticated()函数来判断是否登录,这是django自带的函数。如果没有登录返回一个xxx模板,可以修改。

from functools import wraps
def check_method(func):
@wraps(func)
def returned_wrapper(request, *args, **kwargs):
if request.method != 'POST':
err = u'提交方式有误'
return render_to_response('err.html', {"err": err})
else:
return func(request, *args, **kwargs)
return returned_wrapper

该函数用来检查用户提交的方式是否为POST,可能作用不大。

from django.shortcuts import HttpResponse
import json
def xxx():
result = dict()
try:
//TODO
result['ret'] = 0
result['status'] = 'success'
except Exception, e:
result['ret'] = 10000
result['status'] = 'failed'
result['message'] = str(e)
return HttpResponse(json.dumps(result), content_type="application/json")

该函数用来接收前端的jquery请求,返回一个json对象,根据ret来判断是否成功,经常同下面的jquery一起使用。

function ajax(type, url, datas, msg) {
$.ajax({
type: type,
url: url,
data: datas,
async: false,
success: function (data, status) {
if (data.ret == 0) {
alert(msg+'成功!');
          location.reload()
}
else {
alert(msg+"失败!失败原因:" + data.message);
}
},
error: function (data) {
alert(msg+"错误!错误原因:" + data);
}
});
}

一个普通的ajax请求,封装到ajax函数中,省的每次都要复制粘贴很麻烦,使用异步ajax,在执行该ajax请求是其他请求可以继续执行。

django网站搭建常用的一些代码的更多相关文章

  1. Django网站搭建(相关命令-Win10环境)

    为什么需要使用virtualenv? 虚拟环境的作用是创建一个独立的python环境,将每一个应用的环境独立开来,解决了不同应用及多版本之间的冲突问题.在开发的日常中,我们会将python及配套的应用 ...

  2. 10步写了个Django网站,正经网站···

      Django做网站只要10步,真的只有10步,不信?咱们来数数--   今天主要讲解用Pycharm编辑器搭建网站,网站功能是 实现在局域网中快速传递大文件! 比如:同事要给你个1G的文件,你丢一 ...

  3. [个人网站搭建]·Django增加评论功能(Python3)

    [个人网站搭建]·Django增加评论功能 个人主页--> https://xiaosongshine.github.io/ 个人网站搭建github地址:https://github.com/ ...

  4. Django框架搭建(windows系统)

    Django框架搭建(windows系统) 一.Django简介 开放源代码的Web应用框架,由Python语言编写,一个大而全的框架. 1.web框架介绍 具体介绍Django之前,必须先介绍WEB ...

  5. 三.基础部分+asp网站搭建

    渗透测试流程:更全面地找出服务器的问题,更倾向保护 明确目标-->信息收集-->漏洞探测-->漏洞验证-->信息分析-->获取所需-->信息整理-->形成报告 ...

  6. Apsara Clouder云计算专项技能认证:网站建设-简单动态网站搭建

    一.课程介绍 1.课程目标 了解静态网站和动态网站的区别 掌握动态网站的不同实现方式 在阿里云上如何搭建 wordPress网站以及 wordPress 网站的管理和优化 二.网站搭建的类型 1.网站 ...

  7. JS学习知我见(常用建站代码)

    <!doctype html><html><head><meta charset="utf-8"><meta name=&qu ...

  8. 十五个常用的jquery代码段【转】

    好的文章顶一个 回到顶部按钮 通过使用 jQuery 中的 animate 和 scrollTop 方法,你无需插件便可创建一个简单地回到顶部动画: 1 // Back to top 2 $('a.t ...

  9. 十五个常用的jquery代码段

    十五个常用的jquery代码段 回到顶部按钮 通过使用 jQuery 中的 animate 和 scrollTop 方法,你无需插件便可创建一个简单地回到顶部动画: 1 // Back to top ...

随机推荐

  1. 安恒月赛 image up

    http://101.71.29.5:10007/index.php?page=login 仔细观察这个url的话会发现,存在文件包含. 而且并没有login.php而是login,猜测代码是 < ...

  2. C# 中的 #region 和 #endregion 的作用

    C#中的 #region 和 #endregion 表示一块区域,这样在 Visual Studio 中可以将这块区域的代码折叠起来,便于查看. 虽然Visual Studio 也响应大括号的折叠,但 ...

  3. PAT1017

    本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格 ...

  4. springboot 2.0配置集成thymeleaf的坑

    Servlet.service() for servlet [dispatcherServlet] in context with path [] java.lang.NoClassDefFoundE ...

  5. pat 甲级 1135. Is It A Red-Black Tree (30)

    1135. Is It A Red-Black Tree (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  6. 洛谷 P1270 “访问”美术馆

    P1270 “访问”美术馆 题目描述 经过数月的精心准备,Peer Brelstet,一个出了名的盗画者,准备开始他的下一个行动.艺术馆的结构,每条走廊要么分叉为两条走廊,要么通向一个展览室.Peer ...

  7. Spring Boot学习——Spring Boot配置文件application

    Spring Boot配置文件有两种格式: application.properties 和 application.yml.两种配置文件只需要使用一个. 这两种配置文件的语法有些区别,如下 1. a ...

  8. android的动态代码

    1,Android代码设置Shape,corners,Gradient  (http://blog.csdn.net/houshunwei/article/details/17392409) int ...

  9. hdu 1852(快速幂模+有除法的时候取模的公式)

    Beijing 2008 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/65535 K (Java/Others)Tota ...

  10. springBoot yml 和 properties

    加载顺序不一致,application.yml 在前,application.properties 在后. yml 文件内容 server: port: 8081 spring: redis: dat ...