我想在向数据库添加新项时自定义JSON响应,它返回以下内容.
HTTP 400 BAD REQUEST
Content-Type: application/json Vary:
Accept Allow: POST, OPTIONS
{
"nick": [
"Users with this Nick already exists."
]
}
Run Code Online (Sandbox Code Playgroud)
和
{
"nick": [
"Your username is empty"
]
}
Run Code Online (Sandbox Code Playgroud)
我希望它返回(此用户名已存在,请使用其他用户名.)
要么
"Username %s already exists", (self.nick)
Run Code Online (Sandbox Code Playgroud)
我使用了以下示例,但如果值为空或无效,则无效.
def validate_title(self, attrs, source):
"""
Check that the blog post is about Django.
"""
value = attrs[source]
if "django" not in value.lower():
raise serializers.ValidationError("Blog post is not about Django")
return attrs
Run Code Online (Sandbox Code Playgroud)
这是发送到API的JSON.
{
"name": "myname",
"nick":"",
"type_account":"1",
"email":"my-email@gmail.com",
"pass_field":"12345" …Run Code Online (Sandbox Code Playgroud) 当我使用curl在终端上执行以下命令时
curl -X POST http://myuser:mypassword@myweb.com:8000/call/make-call/ -d "tutor=1&billed=1"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
AssertionError at/call/make-call /期望a
Response,HttpResponse或者HttpStreamingResponse从视图返回,但是收到了<type 'NoneType'>
我的views.py是
@api_view(['GET', 'POST'])
def startCall(request):
if request.method == 'POST':
serializer = startCallSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我的serializer.py是
class startCallSerializer(serializers.ModelSerializer):
class Meta:
model = call
fields = ('tutor', 'billed', 'rate', 'opentok_sessionid')
Run Code Online (Sandbox Code Playgroud)
我的urls.py是
urlpatterns = patterns(
'api.views',
url(r'^call/make-call/$','startCall', name='startCall'),
)
Run Code Online (Sandbox Code Playgroud) 目前我有一个脚本,允许用户使用表单添加新酒店这是脚本.
我得到以下错误异常AddHotelForm.Meta.fields不能是一个字符串.你的意思是键入:('name',)?
请求方法:GET请求URL:8000/hotel/new Django版本:1.6.2异常类型:TypeError异常值:
AddHotelForm.Meta.fields不能是一个字符串.你的意思是键入:('name',)?
异常位置:/usr/local/lib/python2.7/dist-packages/django/forms/models.py in new,line 261
我似乎没有得到它我已经多次检查过,似乎没有找到解决方案.
views.py
from django.shortcuts import render_to_response
from forms import AddHotelForm
from django.http import HttpResponseRedirect
from django.core.context_processors import csrf
from hotel.models import hotel
def create(request):
if request.POST:
form = AddHotelForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/articles/all/')
else:
form = AddHotelForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('add_hotel.html', args)
Run Code Online (Sandbox Code Playgroud)
models.py
from django.db import models
from user.models import user
class hotel(models.Model):
publisher = models.ForeignKey(user)
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
creation_date = …Run Code Online (Sandbox Code Playgroud) 有什么方法可以使用kubectl命令列出节点上使用最多 CPU 的所有 POD 。我在官方文档中看不到这一点。
Django在2个地方设置了以下查询,唯一的限制就是限制并给我不同的结果
这是以下QuerySet的第一个结果
list_empleados = empleado.objects.filter(
empresa=session_empresa
).order_by('-puntos')[:3]
Run Code Online (Sandbox Code Playgroud)

正确的结果应该是:
19,13,9而不是9,19,13看到我的意思?
这是第二个QuerySet
list_empleados = empleado.objects.filter(
empresa=session_empresa
).order_by('puntos')
Run Code Online (Sandbox Code Playgroud)
这是结果

正确的结果应该是:
19,13,9,1而不是1,13,19,9看到我的意思?
models.py
class empleado(models.Model):
empresa = models.ForeignKey(empresa)
nombre = models.CharField(max_length=50)
fecha_nacimiento = models.DateField(auto_now_add=False)
GENDER_CHOICES = (
('M', 'Masculino'),
('F', 'Femenino'),
)
sexo = models.CharField(max_length=1, choices=GENDER_CHOICES)
avatar = StdImageField(upload_to='avatar/%Y/%m/%d', variations={
'large': (300, 300, True),
'medium': (50, 50, True),
'thumbnail': (98, 122, True)})
correo = models.EmailField(max_length=100)
departamento = models.ForeignKey(departamento)
telefono = models.CharField(max_length=21)
direccion = models.CharField(max_length=200)
twitter = models.CharField(max_length=15)
usuario = models.CharField(max_length=15)
password = models.CharField(max_length=40)
primer_lugar …Run Code Online (Sandbox Code Playgroud) 实施 Logrus Go 包。文件已保存,但停止在控制台上打印日志,仅在创建的名为供应商.log 的 .log 文件中可见。
这是当前使用的代码。
package logging
import (
"fmt"
"os"
mylog "github.com/sirupsen/logrus"
)
// InitializeLogging asdas
func InitializeLogging(logFile string) {
var file, err = os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("Could Not Open Log File : " + err.Error())
}
mylog.SetOutput(file)
//log.SetFormatter(&log.TextFormatter{})
mylog.SetFormatter(&mylog.JSONFormatter{})
}
Run Code Online (Sandbox Code Playgroud) 目前我正在使用新的Swift库,名为AlamoFire,我希望在NSDictionary上获得JSON响应,或者在应用程序中使用它.
// Pasar Parametros al API
let parameters = ["username": usuario.text,
"password": contrasena.text,
"type": "login_clients"]
// Iniciar el POST request y esperar los datos y parsearlos
Alamofire.request(.POST, "http://mycoolapi.com", parameters: parameters).responseJSON {
(request, response, JSON, error) in
// Imprimir JSON (response)
var respuesta = JSON
let transaccion = respuesta["transaction"]
NSLog("Response: %@", transaccion)
self.performSegueWithIdentifier("mostrar_menu", sender: self)
}
Run Code Online (Sandbox Code Playgroud)
以下是行不通的,不知道我做错了什么?