小编Aru*_* SS的帖子

django rest framework:<object>不是JSON可序列化的

我已经安装了'us'模块(https://pypi.python.org/pypi/us)来获取美国各州.它打印状态列表.我想以下列格式在API中显示它.

{
    "states": [
        {
            "state_code":"CA",
            "state_name":"California"
        },
        {
            "state_code":"AL",
            "state_name":"Alabama"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在显示以下错误.

TypeError at /api/v1/us/states
<State:Alabama> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

views.py

@api_view(['GET'])
def get_all_states(request):
    states = us.states.STATES
    print (states)
    return Response({'states':states})
Run Code Online (Sandbox Code Playgroud)

当我打印状态时,它具有以下格式.

[<State:Alabama>, <State:Alaska>, <State:Arizona>, <State:Arkansas>, <State:California>, <State:Colorado>, <State:Connecticut>, <State:Delaware>  <State:West Virginia>, <State:Wisconsin>, <State:Wyoming>]
Run Code Online (Sandbox Code Playgroud)

urls.py

urlpatterns = [
    url(r'^us/states', get_all_states),
]
Run Code Online (Sandbox Code Playgroud)

我没有使用任何序列化器.无论如何迭代状态并获取格式化的状态数据?

python python-2.7 django-serializer django-rest-framework

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

cron 作业从星期一到星期五从上午 9 点 15 分到下午 3 点 30 分每分钟运行一次

对于以下场景,我必须运行两个 cron 作业。

  1. job1.php 应在周一至周五的每天上午 9:12 运行一次。(一周五天)
  2. job2.php 应在周一至周五上午 9:15 至下午 3:30 每分钟运行一次。(一周五天)

我还有 4 个 cron 作业需要在我的项目中实施。但所有这些都可以从上述两种情况中得出。

linux cron crontab

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

oscarcommerce目录导入

我有一个magento2项目。我想将magento 2中的产品目录导入django oscarcommerce。官方文档解释了进口商(http://django-oscar.readthedocs.io/en/releases-1.1/howto/importing_a_catalogue.html)。但是他们不支持,因为它有故障。我试图弄清楚它是如何工作的。但是我找不到要测试的源csv文件。

是否有将magento2中的数据转换为奥斯卡商业的模块/脚本?我检查了此线程,但对此一无所知。

python django django-import-export django-oscar

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

Django Rest框架-返回图像作为响应

我正在调用 django Rest 框架 get api 来创建条形码。当我尝试将其另存为图像时,它工作正常。

@api_view(['GET'])
def mybarcode(request):
    from elaphe import barcode

        code = barcode('datamatrix', "sampletext",
                       encoding='utf-8', scale=2,
                       options=dict(columns=24, rows=24),
                       margin=2, data_mode='50bits')
        code.save("mybarcode.jpg")
        return Response({'status': True})
Run Code Online (Sandbox Code Playgroud)

当我将此 API 称为“ http://127.0.0.1:9999/api/v1/testbarcode ”时,效果很好。将创建一个名为“mybarcode.jpg”的图像,并且 api 返回其状态为 True。

但我想返回图像作为此 api 调用的结果。因为我必须将其包含在图像标签中。

<img src='http://127.0.0.1:9999/api/v1/testbarcode' />
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点吗?

python django django-views django-rest-framework

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