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. Leetcode 643.子数组最大平均数I

    子数组最大平均数I 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数. 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: ...

  2. Leetcode 560.和为k的子数组

    和为k的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数. 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1 ...

  3. sql 使用存储过程传递列名或表名作为参数

    原网址: http://www.cnblogs.com/85538649/archive/2011/09/23/2186155.html alter procedure Proc_UpdateDate ...

  4. uploadify 报http 302错误

    uploadify 报http 302错误 原因是系统采用Forms认证,服务端加入匿名认证即可 具体配置如下: <location path="Base/Base/Upload&qu ...

  5. C#中var、int、object性能比较(已修正)

    var关键字是.net3.5推出的关键字,主要是让编译器自动推断并判断变量类型,类似javascript中的var. 在使用一些性能优化软件时,在代码优化时,我发现不管定义什么类型的变量,变量的类型都 ...

  6. POJ 1149 PIGS(Dinic最大流)

    PIGS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20738   Accepted: 9481 Description ...

  7. [NOI2003][bzoj1507] 文本编辑器 editor [splay]

    其实看明白了就是一道水题 毕竟模板 splay敲一发,插入一个串的时候先把它构建成一棵平衡树,再挂到原来的splay上面去即可 没别的了,上代码 #include<iostream> #i ...

  8. css中按钮的四种状态

    css中按钮有四种状态 1. 普通状态2. hover 鼠标悬停状态3. active 点击状态4. focus 取得焦点状态 .btn:focus{outline:0;} 可以去除按钮或a标签点击后 ...

  9. Java面试题之在多线程情况下,单例模式中懒汉和饿汉会有什么问题呢?

    懒汉模式和饿汉模式: public class Demo { //private static Single single = new Single();//饿汉模式 private static S ...

  10. Redis+sentinel 高可用实践

    1.环境规划 10.213.50.138(主) redis+sentinel 10.213.50.168(从) redis+sentinel 10.213.50.227  作为客户端测试插入数 2.r ...