有人可以帮助我如何在django rest api中使用POST方法上传文件,例如当我启动时
curl -X POST 127.0.0.1:8000/api/v1/assets/ -d '{"name" = "my image ","source"="/root/images/my_image2.jpg"}' -H "Content-Type: application/json"
Run Code Online (Sandbox Code Playgroud)
我想上传my_image2.jpg
serializers.py:
from django.forms import widgets
from rest_framework import serializers
from .models import Asset
class AssetSerializer(serializers.ModelSerializer):
class Meta:
model = Asset
Run Code Online (Sandbox Code Playgroud)
views.py:
from .serializers import AssetSerializer
from django.http import Http404
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from rest_framework import status
from rest_framework.decorators import api_view
class AssetAdd(APIView):
def post(self, request, format=None):
serializer = AssetSerializer(data=request.DATA)
print serializer.data
if serializer.is_valid():
serializer.save() …Run Code Online (Sandbox Code Playgroud) 在我覆盖该get_search_results方法后,list_filter它不起作用,但搜索字段按我的预期工作。
class NaruceniProduktiAdmin(admin.ModelAdmin):
search_fields = ('broj_narudbe', )
list_filter = ('date', 'status', )
list_display = (
'naziv_produkta', 'datum', 'narudba_broj', 'boja', 'velicina', 'cijena', 'kolicina',
'ukupna_cijena','korisnik_link','status','source_link',
)
actions = [dostupan, nedostupan, email_dostupan, placen, posalji_racun, poslan, isporucen, storniran, posalji_storno, ]
def get_search_results(self, request, queryset, search_term):
queryset, use_distinct = super(NaruceniProduktiAdmin, self).get_search_results(request, queryset, search_term)
try:
search_term_as_int = int(search_term)
except ValueError:
search_term_as_int=search_term.strip()
queryset |= self.model.objects.filter(korisnik__ime__icontains=search_term_as_int)
if not queryset:
queryset |= self.model.objects.filter(korisnik__prezime__icontains=search_term_as_int)
else:
queryset = self.model.objects.filter(broj_narudbe=search_term_as_int)
return queryset, use_distinct
Run Code Online (Sandbox Code Playgroud)
如果我删除get_search_results,list_filter则按预期工作。我想保留它,因为我希望搜索字段按我的预期工作,但我也希望列表过滤能像往常一样工作。 …
我设置了 Django 搜索字段,
search_fields = ('publisher_number',)
Run Code Online (Sandbox Code Playgroud)
publisher_number 是 IntegerField,假设我有publisher_number's:
1,5,10,13,18,20,25
当我输入 django admin 搜索字段编号 1 时,我将获得publisher_number 的对象: 1 , 10 , 13, 18
所有包含数字 1 的,
当我输入 1 时,我想获得带有publisher_number 的确切对象:1 而不是 10, 13,18 和类似的
属性publisher_number不是唯一的。
我如何覆盖 django 搜索字段方法来搜索精确键入的 sting ,不包含字符串?
我正在尝试自动化一些工具,我有
spawn /home/rundoc.sh $path $view
expect "Please enter correct product number []"
sleep 2
send "CX102504\r"
Run Code Online (Sandbox Code Playgroud)
问题是默认情况下在提示中添加最后一个产品编号,例如
Please enter correct product number [] CX000001
Run Code Online (Sandbox Code Playgroud)
当我在舞会中运行我的期望脚本时添加
Please enter correct product number [] CX000001CX102504
Run Code Online (Sandbox Code Playgroud)
那么我怎么知道除了发送退格(删除)默认产品编号添加仅在提示中设置新产品,例如
send "<BACKSPACE><BACKSPACE><BACKSPACE><BACKSPACE><BACKSPACE>CX102504\r"
Run Code Online (Sandbox Code Playgroud) 我有Django网站的scrapper,每天下载图像,所以我想用crontab自动化collectstatic我试过这个添加到crontab.cr
yes | python2.7 manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
您已请求在设置中指定的目标位置收集静态文件:
/家庭/ mojbutik/webapps /目录网店/ myproject的/静
这将覆盖现有文件!你确定你要这么做吗?
CommandError:收集已取消的静态文件.
谁能告诉我怎么做......