我正在尝试在django中生成动态文件路径.我想创建一个这样的文件系统:
-- user_12
--- photo_1
--- photo_2
--- user_ 13
---- photo_1
Run Code Online (Sandbox Code Playgroud)
我发现了一个相关的问题:Django自定义图像上传字段,带有动态路径
在这里,他们说我们可以更改upload_to路径并转到https://docs.djangoproject.com/en/stable/topics/files/doc.在文档中,有一个例子:
from django.db import models
from django.core.files.storage import FileSystemStorage
fs = FileSystemStorage(location='/media/photos')
class Car(models.Model):
...
photo = models.ImageField(storage=fs)
Run Code Online (Sandbox Code Playgroud)
但是,这仍然不是动态的,我想将Car id赋予图像名称,并且在Car定义完成之前我无法分配id.那么如何创建一个带有车牌ID的路径?
我的模型中有一个ImageField,当我保存它时,我想检查它是否为无.
在django shell中,我正在调用我的对象的ImageField,它给出:
>>> p.avatar
<ImageFieldFile: None>
>>> p.avatar is None
False
Run Code Online (Sandbox Code Playgroud)
我发现ImageField的名字是你的',所以还有更好的方法吗?
我们如何检测有向图是否是循环的?我认为使用广度优先搜索,但我不确定.有任何想法吗?
我是Nginx的新手,我已成功将我的django项目绑定到Nginx.但是我不能提供我的静态文件,我想我错误地设置了我的媒体文件夹的位置.这是我的文件树:
root_directory
my_django_project
...
manage.py
app1
app2
media
admin
css
js
...
Run Code Online (Sandbox Code Playgroud)
我的nginx.conf就像:
server {
listen 192.168.1.9:80;
server_name localhost;
# site_media - folder in uri for static files
location /media/ {
root /home/nazmi/workspace/portal/media/;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
access_log off; # po co mi logi obrazków :)
expires 30d;
}
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8080;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors …Run Code Online (Sandbox Code Playgroud) 我想在我的注册字段中添加一个复选框,用于术语和使用.我怎样才能编写一个干净的方法来验证这一点.
我写了一个干净的方法,我想确保我正确捕获复选框值:
def clean_terms(self):
if self.cleaned_data["terms"] == u'on':
raise forms.ValidationError(
"You have to accept terms&conditions to complete registration"
)
Run Code Online (Sandbox Code Playgroud)
结果,当我填写我的注册表并发布它时,它给了我这个验证错误:
条款和条件:选择有效的选择.on不是可用的选择之一.
那么我怎么能理解选中一个复选框以及如何正确实现一个术语和使用复选框?
我的复选框字段:
terms = forms.ChoiceField(
label="Terms&Conditions",
widget=forms.CheckboxInput()
)
Run Code Online (Sandbox Code Playgroud) 我不明白为什么,但是当我尝试初始化google.maps.Geocoder时,我收到此错误.
这是错误:
Uncaught TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)
和代码:
function updateMapPosition(map){
var geocoder = new google.maps.Geocoder(); //crashes here !!
var position = geocoder.geocode( {'address':$('#id_address').val()},
function(results,status){
if(status == google.maps.GeocoderStatus.OK){
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({map:map, position:results[0].geometry.location});
}
else{
alert("hop")
}
}
}
)
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何在python中使用opencv并遇到一些困难,而且我也是python的新手.
这是我的问题:
我想转换jpg文件tp png.简单明了.但是当我运行这段代码时:
from opencv import _cv
from opencv.highgui import cvSaveImage, cvLoadImage
cvSaveImage("bet.jpg",cvLoadImage("bet.jpg"))
if __name__ == '__main__':
pass
Run Code Online (Sandbox Code Playgroud)
它给出了我不明白的错误:
Traceback (most recent call last):
File "convert.py", line 6, in <module>
cvSaveImage("bet.jpg",cvLoadImage("bet.jpg"))
File "/usr/lib/pymodules/python2.6/opencv/highgui.py", line 183, in cvSaveImage
return _highgui.cvSaveImage(*args)
RuntimeError: openCV Error:
Status=Null pointer
function name=cvGetMat
error message=NULL array pointer is passed
file_name=cxarray.cpp
line=2780
Run Code Online (Sandbox Code Playgroud)
我的图片有相同的源代码文件夹,图片名称是bet.jpg
任何的想法 ??
我必须将title属性添加到ModelChoiceField的选项中.这是我的管理代码:
class LocModelForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
super(LocModelForm,self).__init__(*args,**kwargs)
self.fields['icons'] = forms.ModelChoiceField(queryset = Photo.objects.filter(galleries__title_slug = "markers"))
self.fields['icons'].widget.attrs['class'] = 'mydds'
class Meta:
model = Loc
widgets = {
'icons' : forms.Select(attrs={'id':'mydds'}),
}
class Media:
css = {
"all":("/media/css/dd.css",)
}
js=(
'/media/js/dd.js',
)
class LocAdmin(admin.ModelAdmin):
form = LocModelForm
Run Code Online (Sandbox Code Playgroud)
我可以添加任何属性来选择小部件,但我不知道如何向选项标签添加属性.任何的想法 ?
对于我的新项目,我决定使用django-userena
我按照userena docs的说明进行操作.但是我收到了这个错误:
SiteProfileNotAvailable at/accounts/signin /
没有例外
并且不知道如何解决它.请帮忙 !
我正在编写一个管理命令,它会根据建议的价格过滤产品的原始价格.
我有一个产品型号,看起来像:
class Suggestion(models.Model):
....
price = models.IntegerField()
class Product(models.Model):
price = models.IntegerField()
suggestions = models.ManyToManyField(Suggestion)
Run Code Online (Sandbox Code Playgroud)
我想过滤所有价格等于最低建议的产品.有点像:
Product.objects.filter(price = minumum(suggestions))
Run Code Online (Sandbox Code Playgroud)
和
我想过滤建议中包含产品原价的产品.有点像:
Product.objects.filter(price__in = self.suggestions)
Run Code Online (Sandbox Code Playgroud)
问题是我不能使用for循环查看每个产品的最小建议,因为你猜我也不能使用对象的自我,那么如何在查询中比较模型的两个字段?
django ×7
admin ×1
checkbox ×1
compare ×1
cyclic ×1
filter ×1
google-maps ×1
graph ×1
imagefield ×1
javascript ×1
media ×1
nginx ×1
opencv ×1
options ×1
python ×1
registration ×1
undefined ×1
validation ×1
widget ×1