这是我的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) Djangoadmin url自动给出,如www.example.com/admin.我不希望任何外部访问者访问此网址.这应仅在主机中访问并允许IP address.如果我尝试访问https://instagram.com/admin/(使用Django它构建),它给出了404 page not Found error
如何实现相同的行为?
这是什么首选和正确的方法?
我主持我webservice在webfaction和允许IP address主机意味着其他webfaction账户持有者可能可以访问我不想管理URL.寻找一个简洁的方式
谢谢:
PS:我在这里看到了一个类似的问题,但这与PHP有关.我想知道如何才能使用相同的效果Django?
据我所知,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的数据发生了吗?
请帮助澄清一下
我最近一直在阅读如何clustered index和non-clustered index有效的方法.我用简单的术语理解(如果错误,请纠正我):
支持clustered和non-clustered index存在的数据结构B-Tree
Clustered Index:根据索引列(或键)对数据进行物理排序.你只能有一个clustered Index每个table.如果没有index表创建过程中指定,SQL服务器将自动创建clustered Index的primary 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) 关于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)执行此序列化.
这是我工作中的当前代码.
方法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) 我的输入序列是: [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 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) 这是一个 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”)。我仍然为空。
谢谢
我正在使用不可变的地图
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.
django ×3
java ×3
java-8 ×3
java-stream ×2
json ×2
autowired ×1
django-admin ×1
guava ×1
hadoop ×1
hadoop2 ×1
hashmap ×1
hdfs ×1
indexing ×1
jackson ×1
javascript ×1
mysql ×1
python ×1
spring ×1
spring-mvc ×1
sql ×1
variables ×1
webfaction ×1