小编bla*_*988的帖子

如何使用Django Rest APi上传文件

有人可以帮助我如何在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)

django rest django-rest-framework

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

在管理员中列出过滤器和搜索结果

在我覆盖该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_resultslist_filter则按预期工作。我想保留它,因为我希望搜索字段按我的预期工作,但我也希望列表过滤能像往常一样工作。 …

django django-admin

5
推荐指数
1
解决办法
3234
查看次数

如何设置 Django 管理搜索字段?

我设置了 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 ,不包含字符串?

django

2
推荐指数
1
解决办法
1246
查看次数

如何在期望中发送退格?

我正在尝试自动化一些工具,我有

 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)

linux expect

1
推荐指数
2
解决办法
1933
查看次数

Django collecstatic与crontab

我有Django网站的scrapper,每天下载图像,所以我想用crontab自动化collectstatic我试过这个添加到crontab.cr

yes | python2.7 manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

您已请求在设置中指定的目标位置收集静态文件:

/家庭/ mojbutik/webapps /目录网店/ myproject的/静

这将覆盖现有文件!你确定你要这么做吗?

CommandError:收集已取消的静态文件.

谁能告诉我怎么做......

django crontab

0
推荐指数
1
解决办法
1273
查看次数