zoukankan      html  css  js  c++  java
  • Django 笔记(来源于讲师)以及常见问题的解决

    写1.Django加载静态文件

    1.首先在项目的根目录下,新建static文件夹

    2在settings.py中加入这两句话。表明从项目的跟目录找static文件夹

    3.在HTML文件中导入{% load staticfiles %} 并且做出以下修改

    2.快速将HTML文件返回到页面中。(这种做法并不用先去View函数)

    3.安装Pillow 图像处理库

    Pillow中最重要的类就是Image,该类存在于同名的模块中。可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片。

    4.配置Template中的HTML文件放到相对路径下,而不是绝对路径。

     

    5.Django中将sqlite3数据库换成Mysql数据库方法

    1.将settings配置中改为

    2.安装mysql驱动

    安装Mysql驱动详见: http://blog.csdn.net/u012882134/article/details/51934165

    安装该下载文件 即可解决

    6.Django 中数据库常用类型

    # models.ForeignKey 外键
    # models.DataTimeField 时间类型
    # models.IntegerField 整型
    # models.IPAddressField IP类型
    # models.FileField 文件上传类型
    # models.ImageField 图片类型

    models.TextField  文本类型

    models.CharField 字符串类型一般都在创建时写入max_length参数。设置可以为空和设置默认值 null = True, blank=True, default = ''
    models.EmailField 邮箱类型

    models.URLField url类型 存储URL的字符串,默认长度200;verify_exists(True),检查URL可用性

    可以自定义主键

     7.model中继承原有的user 字段

     

     

    7.web攻击与防范

    1.sql注入攻击与防范

    sql注入危害

    1.非法读取、篡改、删除数据库数据

    2.盗取用户各类敏感信息获取利益

    3.通过修改数据库来修改网页内容

    4.注入木马等等

    注入方法: 比如直接在form表单或者是URL中写sql语句。

    2.xss攻击的原理与防护

    xss 跨站脚本攻击(Cross Site Scripting)的危害

    1.盗用各类账号、如用户网银账号、各类管理员账号

    2.盗用企业具有商业价值的资料

    3.非法转账

    4.控制受害者机器向其它网站发起攻击、注入木马等。

    csrf 攻击与防护

    8.Django Ajax 请求后端

    1.HTML

    <div id = 'message' style="margin-top: 500px;">Initial text</div>

    2.JS

    <script>
    $(document).ready(function() {
    
       $("#message").click(function(){
            $.ajax({
                 cache: false,
                 type: "POST",
                 url:{% url 'edit_favorites' %},
                 data: {
                        'video': $('#test').val() // from form
                        },
                 async:true,
                beforeSend:function(xhr, settings){
                    xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}");
                }, //CSRF必须加上
                 success: function(){
                     $('#message').html("<h2>Contact Form Submitted!</h2>")
                 }
            });
            return false; //<---- move it here
       });
    
    });
    </script>

    3. URL配置

    url(r'^edit_favorites/', edit_favorites, name='edit_favorites'),

    4.View函数配置

    def edit_favorites(request):
        if request.is_ajax(): #判断请求是否是ajax
            if request.method == 'GET': #判断是否是get
                message = "Yes, AJAX is get!"
            elif request.method == 'POST': #判断是否是post
                message = 'Yes, AJAX is post'
        else:
            message = "Not Ajax"
        return HttpResponse(message)

    5.Django新建字段连接User找到不到user_id

    应该在model的外键对应的数据库字段的属性名后面 加_id

  • 相关阅读:
    APP排查内存泄漏最简单和直观的方法
    Unable to resolve service for type 'Microsoft.AspNetCore.ResponseCompression.IResponseCompressionProvider' while attempting to activate 'Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMid
    c# json序列化不包括某列
    log4net按级别写到不同文件
    .NETCore_项目启动设置域名以及端口
    Oracle_本地计算机上的OracleOraDb11g_home1TNSListener 服务启动后停止
    Oracle_其他人连接不上自己电脑
    Oracle_创建自增
    Oracle_12541错误和ora-12514错误
    Oracle_PLSQL导出导入dmp文件
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/6278904.html
Copyright © 2011-2022 走看看