热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

表操作_djange表操作和ajax

篇首语:本文由编程笔记#小编为大家整理,主要介绍了djange表操作和ajax相关的知识,希望对你有一定的参考价值。路由系统:1./ind

篇首语:本文由编程笔记#小编为大家整理,主要介绍了djange表操作和ajax相关的知识,希望对你有一定的参考价值。


路由系统:
1. /index/ -> def index(request)
2.
/detail-(\d+)/ -> def detail(request,nid)
/detail-(?P\d+)/ -> def detail(request,nid)

3.
/index/ -> def index(request) name=n1
使用别名生成URL:
模板语言: {% url n1 %} -> /index/
视图函数: reverse(name="n1") -> /index/
4.

/web/ include("app01.urls")
视图函数:
1. 函数至少一个参数
2. request
request.method
request.GET
request.POST (请求头:Content-Type:application/x-www-form-urlencoded; charset=UTF-8)
request.body
request.FILES
...
3.
return HttpResponse(..)
return render()
return redirect()

模板引擎:

1. 基本语法

return renderI(request, ‘xxx.html‘, {‘v‘: [1,2,3,4],‘d‘:{‘k1‘:‘v1‘,‘k2‘:‘v2‘} })

xxx.html
{{v.2}}

{% for i in d %}{{i}} --> key
{% endfor %}


{% for k,v in d.items %}{{k}}--{{v}}
{% endfor %}

2. 函数

Django提供函数
simple_tag
filter

ORM操作:
1. 创建表

class UserInfo(models.Model):
# nid = models.AutoField(primary_key=True) int
# nid = models.BigAutoField(primary_key=True) long
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)




2. 操作表

q = models.UserInfo.objects.all()
Queryset = [obj(id,name,pwd),obj(id,name,pwd),obj(id,name,pwd),]


q = models.UserInfo.objects.values(‘name‘,‘pwd‘)
Queryset = [{"name":‘alex‘,‘pwd‘:123},{"name":‘alex1‘,‘pwd‘:123sfd},{"name":‘alex1‘,‘pwd‘:123sfd},]


q = models.UserInfo.objects.values_list(‘name‘,‘pwd‘)
Queryset = [(‘alex‘,123),(‘alex‘,123),(‘alex‘,123),(‘alex‘,123),]



q = models.UserInfo.objects.filter(name=‘alex‘)
[obj,]


q = models.UserInfo.objects.get(name=‘alex‘)
q = models.UserInfo.objects.filter(name=‘alex‘).first()


...




今日内容:

1. FBV和CBV

FBV:

url(r‘^index/‘, views.index),

def index(request):
print(‘.....‘)
if request.method == ‘GET‘:pass
elif request.method == ‘POST‘:pass
return HttpResponse(‘....‘)


CBV:
url(r‘^user/‘, views.User.as_view()),


class User(View):
def dispatch(self, request, *args, **kwargs):print(‘before‘)obj = super(User,self).dispatch(request, *args, **kwargs)print(‘after‘)return obj

def get(self,request):print("get...")return HttpResponse(‘...‘)

def post(self,request):print("post...")return HttpResponse(‘...‘)

2. ORM操作

a. 创建表
一对多
多对多- 创建第三表: - 自己定义第三张表 :列无限制 - ManyToManyField字段: 列限制(三)- 无法直接,只能通过ManyToManyField字段进行间接操作

b. 操作
正向dp
反向userinfouserinfo_set
3. COOKIE
在浏览器上保存的简直对
应用:
可做用户登录
做投票
4. session
服务器端保存的简直对
{
asdfasdfasdf: {‘user‘:‘asdf‘,‘pws‘:‘asdf‘}

}


5. Ajax操作
#

$.ajax({
url: ‘/aj/‘, # 提交地址
type: "POST", # 提交方式
data: {uuu: u, ppp:p}, # 提交数据
dataType: "JSON",
success:function (data) { # 回调函数,登录成功后自动执行
# 将字典形式的字符串,发序列化成为字典对象(json对象)
# var data_dict = JSON.parse(data);

if(data_dict.status){location.href = "/home/"
}else{alert(data_dict.error);
}
}
})












































































































































































推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
author-avatar
finaokas_261
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有