小编bra*_*orm的帖子

如何在django中将csrf_token传递给javascript文件?

这是我的javascript代码,工作正常.但我喜欢保持javascript文件分离,不要用作内联脚本标记

<script>
    $('.book').click(function() {
         var id= $(this).attr('id');
         data={
              'id':id,
              'csrfmiddlewaretoken':'{{ csrf_token }}',
              };
          $.ajax({
            url: '/post/book/',
            cache:'false',
            dataType:'json',
            type:'POST',
            data:data,
            success: function(data){
               //do something
              else {
                  //do something
              }
            }, 
            error: function(error){
              alert('error; '+ eval(error));
            }
          });
          return false;
      });
     });
</script>
Run Code Online (Sandbox Code Playgroud)

我想在我的base.html中包含的custom.js文件中包含它.是的

{% load static from staticfiles %}
{% load bootstrap3 %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>{% block title %}{% endblock %}</title>
  {% bootstrap_css %}
  <!-- Optional theme -->
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css"> …
Run Code Online (Sandbox Code Playgroud)

javascript django variables

3
推荐指数
2
解决办法
7367
查看次数

如何防止访问Django中的管理员网址?

Djangoadmin url自动给出,如www.example.com/admin.我不希望任何外部访问者访​​问此网址.这应仅在主机中访问并允许IP address.如果我尝试访问https://instagram.com/admin/(使用Django它构建),它给出了404 page not Found error 如何实现相同的行为?

这是什么首选和正确的方法?

我主持我webservicewebfaction和允许IP address主机意味着其他webfaction账户持有者可能可以访问我不想管理URL.寻找一个简洁的方式

谢谢:

PS:我在这里看到了一个类似的问题,但这与PHP有关.我想知道如何才能使用相同的效果Django

django django-admin webfaction

3
推荐指数
1
解决办法
2749
查看次数

文件分为块存储在HDFS中?

据我所知,HDFS中的块系统是基础文件系统之上的逻辑分区.但是,当我发出cat命令时,如何检索文件.

假设我有一个1 GB的文件.我的默认HDFS块大小为64 MB.

我发出以下命令:

hadoop -fs copyFromLocal my1GBfile.db input/data/
Run Code Online (Sandbox Code Playgroud)

上面的命令将文件my1GBfile.db从我的本地机器复制到输入/数据目录中HDFS:

我有16个块要复制和复制(1 GB/64 MB~16).

如果我有8 datanodes,则单个datanode可能没有所有块来重建文件.

当我发出以下命令

hadoop -fs cat input/data/my1GBfile.db | head 
Run Code Online (Sandbox Code Playgroud)

现在发生了什么?

文件是如何重构的?虽然块只是逻辑分区,但1 GB文件是如何物理存储的.它存储在HDFS上.每个datanode获取文件的一些物理部分.因此,通过将输入1GB文件分成64 MB块,我们可能会破坏记录级别的某些内容(例如在行之间).这是怎么处理的?

我检查了我的datanode,我确实看到了一个blk_1073741825,在编辑器中打开时实际上显示了该文件的内容.

那么所制作的文件块是不合逻辑的,但实际partition的数据发生了吗?

请帮助澄清一下

hadoop hdfs hadoop2

3
推荐指数
1
解决办法
4955
查看次数

在SQL中基于群集和非群集索引优化查询?

我最近一直在阅读如何clustered indexnon-clustered index有效的方法.我用简单的术语理解(如果错误,请纠正我):

支持clusterednon-clustered index存在的数据结构B-Tree

Clustered Index:根据索引列(或键)对数据进行物理排序.你只能有一个clustered Index每个table.如果没有index表创建过程中指定,SQL服务器将自动创建clustered Indexprimary key column.

Q1:由于数据是根据索引进行物理排序的,因此这里不需要额外的空间.它是否正确?那么当我删除我创建的索引时会发生什么?

Non-clustered Index:在non-clustered indexes,leaf-node树的包含列值和指向数据库中实际行的指针(行定位器).这里存在将non-clustered index table物理存储在磁盘上所需的额外空间.但是,一个不受数量的限制non-clustered Indexes.

Q2:这是否意味着对非聚集索引列的查询不会导致排序数据?

问题3:此处有一个额外的查找,用于使用叶节点处的指针定位实际的行数据.与聚簇索引相比,这会有多大的性能差异?

锻炼; Tibial:

考虑一个Employee表:

CREATE TABLE Employee
(
PersonID int PRIMARY KEY,
Name varchar(255),
age int,
salary int
); 
Run Code Online (Sandbox Code Playgroud)

现在我创建了一个employee表(创建了employee上的默认聚簇索引).

此表上的两个常见查询仅发生在年龄和工资列上.为简单起见,我们假设表不经常更新

例如:

select * from employee where age …
Run Code Online (Sandbox Code Playgroud)

mysql sql indexing clustered-index non-clustered-index

3
推荐指数
1
解决办法
4531
查看次数

使用Django Rest框架来序列化自定义数据类型并返回响应

关于Django Rest Framework的大多数教程都解释了如何使用Django模型并进行CRUD操作.GET如果我使用JSON序列化程序,那么对用户模型的请求将以JSON格式返回用户对象的属性.

我正在设计我的Django应用程序来处理查询并返回响应.例如,我提供了一个REST API来获取以下查询的结果

"给我一个用户的名字和部门,其工资比XXX"

这是我的Django模型:

class UserProfile(AbstractUser):
    age = models.PositiveIntegerField(_("age"))
    salary=models.PositiveIntegerField(_("salary"))

AUTH_USER_MODEL = "profiles.UserProfile"
User = get_user_model()

class Department(models.Model):
      users=models.ForeignKey(User)
      dept_name = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)

现在我有以下DTO(数据传输对象):

class CustomResponse(object):

def __init__(self, user_name, salary, dept_name):
      self.user_name = user_name
      self.salary = salary
      self.dept_name=dept_name
Run Code Online (Sandbox Code Playgroud)

在我使用DRF实现的REST服务中,我想要以下内容

@api_view(['GET'])
def getNameandDept(salary):
    users=User.objects.filter(salary__gt=salary)
    toreturn=[]
    for user in users:
        response=CustomResponse(user.first_name,user.salary,user.dept_name)
        to_return.append(response)
    return Response(to_return)
Run Code Online (Sandbox Code Playgroud)

我不确定使用Django rest框架提供的工具实现上述的正确方法是什么.

我期待这样的回应

[{user_name:"matt", salary:"5000", dept_name:"ENG"},{user_name:"smith",salary:"4000", dept_name:"HR"}....]
Run Code Online (Sandbox Code Playgroud)

谢谢

编辑

我希望DRF为这种序列化提供开箱即用的工具.我一直在使用JAX-RS API(jersey和RESTeasy)执行此序列化.

python django json django-rest-framework

3
推荐指数
1
解决办法
8944
查看次数

Spring - 我应该使用@Bean还是@Component?

这是我工作中的当前代码.

方法1

@Configuration
public class AppConfig {

    @Bean
    @Autowired(required = false)
    public HttpClient createHttpClient() {
        // do some connections configuration
        return new HttpClient();
    }

    @Bean
    @Autowired
    public NameClient nameClient(HttpClient httpClient,
                                 @Value("${ServiceUrl:NotConfigured}") 
                                 String serviceUrl) {
        return new NameClient(httpClient, serviceUrl);
    }

}
Run Code Online (Sandbox Code Playgroud)

NameClient是一个简单的POJO,如下所示

public class NameClient {
    private HttpClient client;
    private String url;

    public NameClient(HttpClient client, String url) {
        this.client = client;
        this.url = url;
    }

    // other methods 
}
Run Code Online (Sandbox Code Playgroud)

@Bean我没有使用配置,而是想要遵循这种模式:

方法2

@Configuration
public class AppConfig {

  @Bean
  @Autowired(required …
Run Code Online (Sandbox Code Playgroud)

spring dependency-injection spring-mvc autowired

3
推荐指数
1
解决办法
158
查看次数

如何在Java 8 Streaming API中保留集合中未过滤的数据?

我的输入序列是: [1,2,3,4,5]

结果应该是: [1,12,3,14,5]

即偶数增加10,但奇数值保持不变.

这是我尝试过的:

public static List<Integer> incrementEvenNumbers(List<Integer> arrays){
        List<Integer> temp = 
          arrays.stream()
                .filter(x->x%2==0)
                .map(i -> i+10)
                .collect(Collectors.toList());
        return temp;
    }
Run Code Online (Sandbox Code Playgroud)

当我称这种方法时,

System.out.println(incrementEvenNumbers(Arrays.asList(1,2,3,4,5)));
Run Code Online (Sandbox Code Playgroud)

我得到[12, 14].我想知道如何包含不filtered渗透的值,但map不应该应用它.

java-8 java-stream

3
推荐指数
1
解决办法
790
查看次数

Java 8语法迭代并基于所有元素的否定谓词调用方法?

这是我在Java 7中所做的:

public class Sample {

    private List<String> list = Lists.newArrayList("helloworld", "foobar", "newyork");

    public void performOperation(String input) {

        boolean found = false;

        for (String each : list) {
            if (input.contains(each)) {
                found = true;
            }
        }

        if (!found) {
            magicMethod(input);
        }
    }

    public void magicMethod(String input) {
        // do the real magic here
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望沿着这条线走路(这显然是错误的)

list.forEach(each -> input.contains(each) ? magicMethod(input) : return );
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

3
推荐指数
1
解决办法
231
查看次数

调用 findValue 方法时 JsonNode 返回 null?

这是一个 json 示例

{
    "key1": {
        "key2": {
            "key3": "value3"
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

我想获取key3的值,即“value3”类findValue的方法JsonNode在这里应该可以达到目的。

所以我尝试了以下方法:

final ObjectMapper jsonMapper = new ObjectMapper();

String jsonRoot = "{\"key1\":\n" + "    {\"key2\":\n" + "            {\"key3\":\"value3\"}\n" + "    }\n" + "}";
JsonNode node = jsonMapper.convertValue(jsonRoot,JsonNode.class);
JsonNode found = node.findValue("key3");
System.out.println(found.asText());
System.out.println(found.isObject());
Run Code Online (Sandbox Code Playgroud)

但是,我看到“找到”为空。我无法弄清楚为什么会失败。我也尝试过node.findValue(“key2”)。我仍然为空。

谢谢

java json jackson

3
推荐指数
1
解决办法
1万
查看次数

在java 8中为Map添​​加非值的优雅方法?

我正在使用不可变的地图

public Map<String,String> getMap(){
        return ImmutableMap.<String,String>builder()
                .put("FOO",getFooType())
                .put("BAR", getBarType())
                .build();
    }
Run Code Online (Sandbox Code Playgroud)

在某些情况下,getFooType()getBarType()将返回null.这会导致异常被抛出 com.google.common.collect.ImmutableMap.我想知道是否有一种优雅的方式来填充地图只有非空和非空字符串.

我对任何Map实现都没问题,不仅仅局限于番石榴库.

我可以取消以下内容

Map<String,String> map = new HashMap<>();

String fooType = getFooType();
String barType = getBarType();

if (fooType!=null && fooType.length()>0){
    map.put("FOO", fooType);
}

if (barType!=null && barType.length()>0){
     map.put("BAR", barType);
}
Run Code Online (Sandbox Code Playgroud)

由于我有许多键要添加到地图中,因此这种if-checks会使代码变得不漂亮.我想知道是否有任何优雅的方式来做到这一点.

我正在为我的项目使用Java 8.

java hashmap guava java-8

3
推荐指数
1
解决办法
1655
查看次数