标签: django-piston

如何在python中获取datetime中的日期名称?

如何在python的datetime中获取日期名称(例如:星期一,星期二,星期三,星期四,星期五,星期六和星期日)?...

这是我的handlers.py中的代码

    from django.utils.xmlutils import SimplerXMLGenerator
    from piston.handler import BaseHandler
    from booking.models import *
    from django.db.models import *
    from piston.utils import rc, require_mime, require_extended, validate
    import datetime

    class BookingHandler(BaseHandler):
        allowed_method = ('GET', 'POST', 'PUT', 'DELETE')
        fields = ('id', 'date_select', 'product_name', 'quantity', 'price','totalcost', 'first_name', 'last_name', 'contact', 'product')
        model = Booking

       def read(self, request, id, date_select):
        if not self.has_model():
            return rc.NOT_IMPLEMENTED
        try:   
            prod = Product.objects.get(id=id)
            prod_quantity = prod.quantity
            merge = []
            checkDateExist = Booking.objects.filter(date_select=date_select)
            if checkDateExist.exists():
                entered_date = Booking.objects.values('date_select').distinct('date_select').filter(date_select=date_select)[0]['date_select']
            else: …
Run Code Online (Sandbox Code Playgroud)

python django datetime django-piston

50
推荐指数
2
解决办法
7万
查看次数

Django RESTful API - django-piston vs. django-tastypie

我们正在为Django项目寻找一般的RESTful API解决方案.我们首先使用API​​来进行网站上的Ajax调用,然后再使用移动应用程序,外部应用程序等等.

我发现了两个似乎被广泛使用的模块.django-pistondjango-tastypie

从我读到的,活塞似乎更老,因此更成熟但可能有点过时?!虽然tastypie相对较新并且记录良好.

什么是最好的选择?django-pistondjango-tastypie?对我们来说很重要(按优先级排序):持续维护源,文档,稳定性和易用性.

编辑(2013年7月16日):

一年多以后,我们有一个明显的赢家.起初我们去了tastypie.我们有点喜欢.但经过半年左右的时间,我们转向了即将到来的django-rest-framework并且从未回头.

我们最喜欢的是:

  • 很好的文档

  • 积极的社区

  • 干净的设计(基于django基于类的视图)

  • 用于开发和调试的可浏览API

我们非常依赖API,因此支持(将来)是我们主要关注的问题之一.我们遇到了维护者 - 汤姆克里斯蒂 - (在线和离线),他似乎非常致力于这个项目.所以我们觉得使用django-rest-framework非常舒服.

api django django-piston

32
推荐指数
4
解决办法
2万
查看次数

关于在活塞上使用OAuth的任何好教程?

我已经查看了Piston文档相关部分,但它似乎只关注如何打开它,而不是它对客户来说是什么样子,或者如何测试它以验证它是否正常工作.该示例似乎只使用HTTP Basic和curl.最后,Ned Batchelder的问题让它看起来像是一个教程.谢谢.

django oauth django-piston

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

使用ModelForms时如何更新现有行?

我有一个问题,当其中一个字段是我的主键时,如何更新我的数据库中的现有行.我正在使用ModelForm和Django-Piston - 我的主要目标是将RESTful Post发送到我的webservice.我能够正确发送初始帖子(即主键值尚不存在).问题是当我想更新主键已经存在的值时 - 当我发出f.is_valid()时,它失败,因为"此UniqueIdentifier已经存在".如何使用ModelForms更新现有行进行表单验证?

我的models.py:

from django.db import models
class DeviceModel(models.Model):
    uniqueIdentifier = models.CharField(primary_key=True, max_length=100)
    deviceToken = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

forms.py

from django import forms
from models import DeviceModel
class DeviceModelForm(forms.ModelForm):
    class Meta:
        model = DeviceModel
Run Code Online (Sandbox Code Playgroud)

handlers.py

class DeviceHandler(BaseHandler):
allowed_methods = ('POST', 'GET', 'DELETE',)
def create(self, request):
    f = DeviceModelForm(request.POST)
    if f.is_valid():
        new_object = f.save()
        return new_object
    return rc.BAD_REQUEST
Run Code Online (Sandbox Code Playgroud)

urls.py

from django.conf.urls.defaults import *
from piston.resource import Resource
from api.handlers import DeviceHandler

device_handler = Resource(DeviceHandler)

urlpatterns = patterns('',
    (r'^api/$', device_handler, …
Run Code Online (Sandbox Code Playgroud)

python django modelform django-piston

12
推荐指数
3
解决办法
8824
查看次数

如何让Django-Piston在序列化输出中包含相关的子对象?

我把头发拉到这里是因为这对我不起作用,看起来应该是这样.

我正在使用Django-Piston开发API并拥有2个模型,Building和Building Area.

BuildingArea有一个ForeignKey to Building,因为建筑物中有多个区域.FK的'related_name'属性是'areas',因此我可以从给定的Building访问BuildingAreas.

问题是它在Admin中看起来都很好但是当我点击/api/building.json端点时,所有我得到的是Building对象,而没有JSON中包含的嵌套的BuildingArea对象.

我原本以为Django-Piston默认会遵循反向FK字段,或者我错过了什么?

handlers.py

class BuildingHandler(BaseHandler):

    allowed_methods = ('GET',)    
    model = Building

    def read(self, name=None):
        return self.model.objects.all()
Run Code Online (Sandbox Code Playgroud)

models.py

class Building(models.Model):
    address         = models.CharField(max_length=255)

    def __unicode__(self):
        return self.address 

class BuildingArea(models.Model):
    display_name  = models.CharField(max_length=30)
    building      = models.ForeignKey(Building, related_name='areas') 

    def __unicode__(self):
        return self.display_name 
Run Code Online (Sandbox Code Playgroud)

django foreign-keys django-piston

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

在生产中运行Django-Celery

我已经构建了一个Django Web应用程序和一些Django-Piston服务.使用Web界面用户提交的一些数据被发布到Web服务,进而该Web服务使用Django的芹菜启动一个后台任务.

使用manage.py在开发环境中一切正常.现在我正试图在适当的apache服务器上将其转移到生产中.Web应用程序和Web服务在生产中运行良好,但我遇到了将celeryd作为守护进程启动的严重问题.根据这些说明:http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon我创建了一个celeryconfig.py文件,并在它卡住/ usr/bin目录(这是celeryd在我的arch linux服务器上的位置).

CELERYD_CHDIR="/srv/http/ControllerFramework/"
DJANGO_SETTINGS_MODULE="settings"
CELERYD="/srv/http/ControllerFramework/manage.py celeryd"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试从命令行启动celeryd时,我收到以下错误:

 "Missing connection string! Do you have "
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have    CELERY_RESULT_DBURI set to a real value?
Run Code Online (Sandbox Code Playgroud)

不知道从哪里开始.以下是我的settings.py部分,因为它与此问题有关:

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "controllerFramework"
BROKER_PASSWORD = "******"
BROKER_VHOST = "localhost"
Run Code Online (Sandbox Code Playgroud)

django celery django-piston

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

使用django-piston时出现400 Bad Request错误

我正在尝试使用Piston为Django提供REST支持.我根据提供的文档实现了我的处理程序.问题是我可以"读取"和"删除"我的资源,但我无法"创建"或"更新".每次我点击相关的api我得到400 Bad request Error.

我已经使用这个常用的代码片段扩展了csrf的Resource类:

class CsrfExemptResource(Resource):
    """A Custom Resource that is csrf exempt"""
    def __init__(self, handler, authentication=None):
        super(CsrfExemptResource, self).__init__(handler, authentication)
        self.csrf_exempt = getattr(self.handler, 'csrf_exempt', True)
Run Code Online (Sandbox Code Playgroud)

我的类(代码片段)看起来像这样:

user_resource = CsrfExemptResource(User)

class User(BaseHandler):
    allowed_methods = ('GET', 'POST', 'PUT', 'DELETE')

    @require_extended
    def create(self, request):
        email = request.GET['email']
        password = request.GET['password']
        phoneNumber = request.GET['phoneNumber']
        firstName = request.GET['firstName']
        lastName = request.GET['lastName']
        self.createNewUser(self, email,password,phoneNumber,firstName,lastName)
        return rc.CREATED
Run Code Online (Sandbox Code Playgroud)

请让我知道如何使用POST操作使create方法工作?

python django rest json django-piston

11
推荐指数
3
解决办法
3963
查看次数

完成'django活塞与oauth支持'的例子

我已经在网上关注了许多教程和示例来设置和使用django活塞.它们都完美无缺,直到我尝试集成oauth身份验证.我一直在反对以下例子:

http://blog.carduner.net/2010/01/26/django-piston-and-oauth/ http://github.com/clemesha/django-piston-oauth-example

然而,这两者似乎都未能包含所需的oauth模板和视图的示例.我很可能没有正确实现它,所以任何建议都会非常有用.

综上所述.我有一个工作的django活塞设置(返回/插入数据).我正在努力的是集成oauth身份验证的权威指南.即我需要安装什么,我需要创建哪些视图,设置,网址模式和模板?

谢谢

django oauth django-piston

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

如何确保python dict键是小写的?

我有一个dict,我想使用simplejson转换为JSON.

如何确保我的dict的所有键都是小写的?

    {
        "DISTANCE": 17.059918745802999, 
        "name": "Foo Bar", 
        "Restaurant": {
            "name": "Foo Bar", 
            "full_address": {
                "country": "France", 
                "street": "Foo Bar", 
                "zip_code": "68190", 
                "city": "UNGERSHEIM"
            }, 
            "phone": "+33.389624300", 
            "longitude": "7.3064454", 
            "latitude": "47.8769091", 
            "id": "538"
        }, 
        "price": "", 
        "composition": "", 
        "profils": {}, 
        "type_menu": "", 
        "ID": ""
    },
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢大家看看我的问题,对不起,我没有详细解释为什么我想要这个.这是修补JSONEmitterdjango-piston.

python json simplejson django-piston

10
推荐指数
3
解决办法
1万
查看次数

用于Django项目/应用程序的RESTful API

当你想在Django中"恢复"你的Django项目时,你更喜欢什么?

我得出的结论是,有三个选项可以做到:

对我来说这样做的正确方法是尝试所有''并选择最适合我的那个,所以同时我想听听你的...

谢谢.

python api django rest django-piston

9
推荐指数
2
解决办法
3083
查看次数