我倾向于如何在Django中上传文件,在这里我遇到一个应该是微不足道的问题,错误:
提交的数据不是文件.检查表单上的编码类型.
以下是详细信息.
注意:我也查看了Django Rest Framework ImageField,我试过了
serializer = ImageSerializer(data=request.data, files=request.FILES)
Run Code Online (Sandbox Code Playgroud)
但我明白了
TypeError:
__init__()得到一个意外的关键字参数'files'
我有一个Image模型,我想通过Django REST框架进行交互:
class Image(models.Model):
image = models.ImageField(upload_to='item_images')
owner = models.ForeignKey(
User, related_name='uploaded_item_images',
blank=False,
)
time_created = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
class ImageSerializer(serializers.ModelSerializer):
image = serializers.ImageField(
max_length=None, use_url=True,
)
class Meta:
model = Image
fields = ("id", 'image', 'owner', 'time_created', )
Run Code Online (Sandbox Code Playgroud)
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
Run Code Online (Sandbox Code Playgroud)
前端(使用AngularJS和angular-restmod或$resource)发送JSON与数据owner和image下面的形式:
{"owner": 5, …Run Code Online (Sandbox Code Playgroud) 我有一个python文件html_gen.py,它在同一目录中写一个新html文件index.html,并希望index.html在写完成时打开它.
所以我写了
import webbrowser
webbrowser.open("index.html");
Run Code Online (Sandbox Code Playgroud)
但是在执行.py文件后没有任何反应.如果我改为放一个代码
webbrowser.open("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)
Safari将在执行代码时打开谷歌首页.
我想知道如何打开本地index.html文件?
所以我是Django的新手,想要描述一下这个场景:有一堆Persons,有一堆Items,一个人传给Items另一个人Person.
我有以下型号:
class Item(models.Model):
title = models.CharField(max_length=1024, blank=False)
def __unicode__(self):
return self.title
class Person(models.Model):
name = models.CharField(max_length=127, blank=False)
out_item = models.ManyToManyField(
Item,
through='Event',
through_fields=('from_user', 'item'),
related_name='giver'
)
in_item = models.ManyToManyField(
Item,
through='Event',
through_fields=('to_user', 'item'),
related_name='receiver'
)
def __unicode__(self):
return self.name
class Event(models.Model):
item = models.ForeignKey(Item)
from_user = models.ForeignKey(Person, related_name='event_as_giver')
to_user = models.ForeignKey(Person, related_name='event_as_receiver')
Run Code Online (Sandbox Code Playgroud)
但makemigrations告诉我app.Person: (models.E003) The model has two many-to-many relations through the intermediate model 'app.Event'.
我不知道我做错了什么?或者实现这种情况的干净方法是什么?也许我可以分开Event进去 …
我学习AngularJS指令,并有一件事我想要做的是通过一些变量$scope.message在父scope(一scope的controller),我希望它被重新命名为param里面的directive alert.我可以用一个孤立的范围做到这一点:
<div alert param="message"></div>
Run Code Online (Sandbox Code Playgroud)
并定义
.directive("alert", function(){
return{
restrict: "A",
scope: {
param: "="
},
link: function(scope){
console.log(scope.param) # log the message correctly
}
}
})
Run Code Online (Sandbox Code Playgroud)
但是,如果不使用隔离范围,我可以做到吗?假设我要另加directive toast到<div toast alert></div>与使用相同param(保持2路数据绑定),天真的我会做
.directive("toast", function(){
return{
restrict: "A",
scope: {
param: "="
},
link: function(scope){
console.log(scope.param)
}
}
})
Run Code Online (Sandbox Code Playgroud)
我肯定会收到错误 Multiple directives [alert, toast] asking for new/isolated scope on:<div...
总而言之,我的问题是,如何在没有隔离范围的情况下重命名父范围变量,以及如何在两个directives放置在单个范围内时共享变量DOM?
我想numpy array用缩进打印以进行调试。
说我有一个array a = numpy.array([[1,2,3,4], [5,6,7,8]]),然后简单的print(a)会给
[[ 63 903 942 952]
[185 332 511 893]]
Run Code Online (Sandbox Code Playgroud)
现在如果我\t输入print("\t" + str(a)),那么我得到
[[ 63 903 942 952]
[185 332 511 893]]
Run Code Online (Sandbox Code Playgroud)
虽然我想拥有
[[ 63 903 942 952]
[185 332 511 893]]
Run Code Online (Sandbox Code Playgroud) 假设我有表格的数据
Name h1 h2 h3 h4
A 1 nan 2 3
B nan nan 1 3
C 1 3 2 nan
Run Code Online (Sandbox Code Playgroud)
我想将所有非纳米细胞向左移动(或收集新列中的所有非纳米数据),同时保持从左到右的顺序,
Name h1 h2 h3 h4
A 1 2 3 nan
B 1 3 nan nan
C 1 3 2 nan
Run Code Online (Sandbox Code Playgroud)
我当然可以一行一行地这样做.但我希望知道是否还有其他方法可以提高性能.
我刚开始学习 Fortran,遇到了这个问题。考虑下面的简单代码。
PROGRAM random
INTEGER, DIMENSION(12):: array
PRINT *, array
END PROGRAM random
Run Code Online (Sandbox Code Playgroud)
将array未分配的值,但可以打印,它似乎有一些随机的因素和一些零元素。但是,如果我考虑更短的数组,请说我声明
INTEGER, DIMENSION(5):: array
Run Code Online (Sandbox Code Playgroud)
那么打印的数组的所有元素都为 0。我想知道这里发生了什么?
我想打印以下输出
*****
****
***
**
*
Run Code Online (Sandbox Code Playgroud)
使用递归子程序.我的代码如下:
PROGRAM PS
IMPLICIT NONE
CALL print_star(5, '*')
CONTAINS
RECURSIVE SUBROUTINE print_star(n, star)
INTEGER :: n
CHARACTER(LEN = *) :: star
CHARACTER(LEN = *) :: new_star
IF (n > 1) THEN
new_star = star // '*'
CALL print_star(n - 1, new_star)
END IF
print *, star
END SUBROUTINE print_star
END PROGRAM PS
Run Code Online (Sandbox Code Playgroud)
然后它返回错误:
CHARACTER(LEN = *) :: new_star
1
Error: Entity with assumed character length at (1) must be a dummy argument or a …Run Code Online (Sandbox Code Playgroud) 编辑:我正在使用 phpMyAdmin 界面,并且我已经将代码从 phpMyAdmin 复制/粘贴到此处。当我运行以下代码时,phpMyAdmin 似乎运行了一个“不同的代码”,并生成了一些引用该“不同代码”的错误消息,造成了巨大的混乱。
** 最终编辑:似乎是 Safari 造成的:当我尝试运行下面的第二个查询时,它运行“不同的查询”。改用 Firefox,它会生成正确的结果。感谢您的帮助,并对造成的混乱表示抱歉。**
我有两个表:newsFeeds、comments、where
** newsFeeds 包含列 PID,comments 包含列 FID。**
我想用匹配的 PID = FID 连接两个表中的行。我的代码是:
SELECT * FROM newsFeeds
INNER JOIN
(
SELECT * FROM
comments
)
ON comments.FID = newsFeeds.PID
Run Code Online (Sandbox Code Playgroud)
错误消息是“#1248 - 每个派生表都必须有自己的别名”。
然后我加入AS newtb后,)根据这里的其他职位。然后代码是:
SELECT * FROM newsFeeds
INNER JOIN
(
SELECT * FROM
comments
) AS newtb
ON newtb.FID = newsFeeds.PID
Run Code Online (Sandbox Code Playgroud)
但是出现了另一个错误: #1064 - You have an error in your SQL syntax; check the manual …
我写的递归一个简单的分类代码,我测试它Python 2.7.6和Python 3.3.3.但我得到了两个不同的结果.代码如下.
import math, copy, random, sys
call_count = 0; # Keep track of number of times of stooge_sort() get called
swap_count = 0; # Keep track of number of times swapping.
def stooge_sort(a, origin):
global call_count, swap_count;
call_count += 1;
n = len(a);
m = int(math.ceil(n*2/3));
if(n == 2 and a[0] > a[1]):
a[0], a[1] = a[1], a[0];
swap_count += 1;
elif (n > 2):
first = copy.deepcopy(a[0:m]);
a[0:m] = stooge_sort(first, origin);
second = …Run Code Online (Sandbox Code Playgroud)