小编Pro*_*eus的帖子

Django REST:请求中不支持的媒体类型"application/xml"

我正在使用http://django-rest-framework.org/ Tokens并尝试获取令牌.我跟着指南.然而,

当我尝试在网址上发帖时:

Request Url: http://127.0.0.1:8001/api-token-auth/
Request Method: POST
Status Code: 415
Params: {
    "username": "test",
    "password": "test123"
}
Run Code Online (Sandbox Code Playgroud)

我收到以下回复

{
    "detail": "Unsupported media type 'application/xml' in request."
}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

谢谢.

django django-rest-framework

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

Django适配器CSV需要几个小时才能导入

我正在使用Django适配器上传一个简单的CSV.当我导入100或200个联系人时,它似乎工作得很好.但是当我尝试上传一个包含5000个联系人的165kb文件时,它永远不会完成.我让它继续尝试,当我在1小时后回来时它还在尝试.

这有什么问题?使用Django适配器导入165kb文件不可能花费一个多小时.代码有问题吗?

 def process(self):
        self.date_start_processing = timezone.now()
        try:


            # Try and import CSV
            ContactCSVModel.import_data(data=self.filepath, extra_fields=[
                {'value': self.group_id, 'position': 5},
                {'value': self.uploaded_by.id, 'position': 6}])

            self._mark_processed(self.num_records)
        except Exception as e:
            self._mark_failed(unicode(e))
Run Code Online (Sandbox Code Playgroud)

CsvModel

class ContactCSVModel(CsvModel):

    first_name = CharField()
    last_name = CharField()
    company = CharField()
    mobile = CharField()
    group = DjangoModelField(Group)
    contact_owner = DjangoModelField(User)


    class Meta:
        delimiter = "^"
        dbModel = Contact
        update = {'keys': ["mobile", "group"]}
Run Code Online (Sandbox Code Playgroud)

python django

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

Python SyntaxError:文件中的非ASCII字符'\ xe2'

我刚刚使用在Python 3下运行Django App到使用Python 2.7.我现在得到这个错误:

SyntaxError: Non-ASCII character '\xe2' in file /Users/user/Documents/workspace/testpro/testpro/apps/common/models/vendor.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

它所指的代码只是一个评论:

class Vendor(BaseModel):
    """
    A company manages owns one of more stores.?
    """
    name = models.CharField(max_length=255)


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

为什么?

这有效:

 class Vendor(BaseModel):
        """

        """
        name = models.CharField(max_length=255)


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

python django

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

如何在模型的覆盖率测试中获得 100% 的成绩?

我已经在我的 Django 项目上安装了覆盖范围。输出是:

     Name                               Stmts   Miss  Cover   
    ----------------------------------------------------------------
    test.apps.testapp.models.company     15      5    67%   2, 19-25
    ------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我已经测试了我能想到的该模型的所有内容,5 Missed 指的是什么?

这是我的模型:

class Company(models.Model):
    """
    Describes a Company within the system.
    """
    name = models.CharField(max_length=60)
    address_line1 = models.CharField(max_length=120)
    address_line2 = models.CharField(max_length=120, null=True, blank=True)
    address_city = models.CharField(max_length=120)
    address_county = models.CharField(max_length=120, null=True, blank=True)
    address_country = models.CharField(max_length=4, choices=COUNTRY_CHOICES, default="US")
    address_postcode = models.CharField(max_length=12)

    class Meta:
        app_label = "testapp"

    def company_user_count(self):
        """
        Return count of the numbers of users that belong to a company.
        :return: int
        """
        return …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何懒惰在经理中加载模型以停止循环导入?

在Django中,您可以为模型创建管理器.我这样做是通过managers.py在我的模型中添加一个名为和的新文件objects = MyManager().

为了停止循环进口,我做了self.model.但是,如果我需要在我的经理中引用不同的模型,即

from models import SecondModel
second= SecondModel(name=test).save()
self.model(second=second)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: ImportError: cannot import name SecondModel

那么在Django中是否有一种懒惰加载模型的方法?

python django django-models

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

了解房产的精确度和规模

property name="poiLat" length="60" ormtype="big_decimal" persistent=true precision="16" scale="14" default="0" hint="";
Run Code Online (Sandbox Code Playgroud)

我不正确地理解精度或比例.使用上面的属性为什么'1'会出错并且'2'被接受?应该怎么做才能接受'1'

1)-118.27 =错误

2)-18.27 =好的

coldfusion coldfusion-9

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

Django没有为记录器"城市"找到处理程序

我正在尝试使用以下命令设置Django-Cities https://github.com/coderholic/django-cities:

sudo python manage.py cities --force --import=all
Run Code Online (Sandbox Code Playgroud)

大约10分钟后终端打印:

No handlers could be found for logger "cities"
Run Code Online (Sandbox Code Playgroud)

然后什么都没发生,我等了几个小时.我检查了数据库,没有数据添加到syncdb生成的数据库中.

我的一些设置....设置

# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
TIME_ZONE = 'Europe/London'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-GB'

# List of plugins to process data during import
Run Code Online (Sandbox Code Playgroud)

CITIES_PLUGINS = ['cities.plugin.postal_code_ca.Plugin',#加拿大邮政编码需要重新映射以匹配地理名称的地区代码]

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.flatpages',
    'django.contrib.admin',
    'django.contrib.gis',
    'accounts',
    'userena',
    'guardian',
    'easy_thumbnails',
    'events',
    'cities',

    )


# Django-guardian settings

ANONYMOUS_USER_ID = -1 …
Run Code Online (Sandbox Code Playgroud)

django

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

Django REST权限类和身份验证类之间的区别

最后一件事我对Django Rest Framework有点困惑,而且权限类和身份验证类之间存在差异.

这是我的settings.py

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAdminUser',


),
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.TokenAuthentication',
    'rest_framework.authentication.SessionAuthentication',
),
'PAGINATE_BY': 10
Run Code Online (Sandbox Code Playgroud)

}

在我看来,我有以下......

class ProfileList(generics.ListCreateAPIView):
    """
    API endpoint that represents a list of users.
    """
    permission_classes = (permissions.IsAdminUser,)
    model = Profile
    serializer_class = ProfileSerializer

    def pre_save(self, obj):
        obj.owner = self.request.user
Run Code Online (Sandbox Code Playgroud)

我上面假设的是,只有管理员用户才能访问可浏览的API,而具有有效令牌的用户仍然可以获得json请求.但是,情况并非如此,只有IsAuthenticated似乎给他们访问但是=这仍然允许我的用户在登录时访问在线版本.

我希望所有拥有有效令牌的用户都可以访问,但只有管理员用户才有权查看带有会话的在线API版本,这可能吗?

django django-rest-framework

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

Django Crispy Forms添加Div提交按钮

使用Django Crispy Forms我想在我的提交按钮周围添加一个类,如下所示:

<div class="col-lg-offset-3 col-lg-9">
    <input type="submit" value="Log Me In" class="btn btn-default" />
</div>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所管理的:

<input type="submit" value="Log Me In" class="btn btn-default" />
Run Code Online (Sandbox Code Playgroud)

使用此代码:

 def __init__(self, host=None, *args, **kwargs):
        super(AuthenticationForm, self).__init__(*args, **kwargs)
        self.host = host
        self.helper = FormHelper()
        self.helper.form_class = 'form-horizontal'
        self.helper.label_class = 'col-lg-3'
        self.helper.field_class = 'col-lg-8'
        self.helper.add_input(
            Submit('submit', 'Log Me In', css_class='btn btn-default',)
        )
Run Code Online (Sandbox Code Playgroud)

你可以看到我几乎就在那里,有没有办法包括额外的div?

python django django-crispy-forms

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

使用Celery同时执行两个任务

我正在当地的环境中测试芹菜.我的Python文件有以下两行代码:

celery_app.send_task('tasks.test1', args=[self.id], kwargs={})
celery_app.send_task('tasks.test2', args=[self.id], kwargs={})
Run Code Online (Sandbox Code Playgroud)

看着控制台输出,它们似乎依次按顺序执行.但test2仅在test1完成后运行.至少这是看起来读取控制台输出的方式.

这些任务彼此之间没有依赖关系,所以我不希望一个任务等待另一个任务完成,然后再转到下一行.

如何同时执行这两项任务?

---- **** -----
--- * ***  * -- Darwin-14.0.0-x86_64-i386-64bit
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x104cd8c10
- ** ---------- .> transport:   sqs://123
- ** ---------- .> results:     disabled
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery
Run Code Online (Sandbox Code Playgroud)

python django celery

6
推荐指数
2
解决办法
5114
查看次数