[d-5]django上傳圖片并使用postman測試

說明:使用django模型類ImageFields字段上傳圖片到服務(wù)器本地,并使用postman測試

  • models.py的內(nèi)容
class People(BaseModel):
  
    name = models.CharField(verbose_name='姓名', max_length=1024, default="",blank=True, null=True)
    age = models.CharField(verbose_name='年齡',max_length=30,blank=True, null=True,help_text='年齡')
    face = models.ImageField(upload_to='pic')
    create_time = models.CharField(max_length=30,verbose_name='時間', blank=True, null=True)

    class Meta:
        db_table = 'people'
        verbose_name = '人物信息'
        verbose_name_plural = verbose_name
  • serializer.py的內(nèi)容
class PeopleSerializer(serializers.ModelSerializer):
    face = serializers.ImageField(max_length=None, use_url=True)

    class Meta:
        model = People
        fields = ("__all__")
  • views.py的內(nèi)容
class PeopleViewSet(ModelViewSet):

    lookup_field = 'pk'
    serializer_class = PeopleSerializer

urls.py

router = DefaultRouter()
router.register('adddata', views.PeopleViewSet,basename='people')
  • settings.py的內(nèi)容
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = 'media/'
  • postman測試


    image.png

    image.png
  • 發(fā)送請求,報錯信息如下:

The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS錯誤
  • 解決方式,在settings.py中添加
DATA_UPLOAD_MAX_NUMBER_FIELDS = 10240

  • 再次運(yùn)行,成功
{
    "code": 201,
    "message": "保存成功",
    "data": {
        "id": 15,
        "face": "http://0.0.0.0:8000/people/adddata/media/pic/dubai-5041154_1920.jpg",
        "update_time": "2020-04-17T10:06:17.418673",
        "gender": "1",
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容