我正在使用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适配器上传一个简单的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 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) 我已经在我的 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) 在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中是否有一种懒惰加载模型的方法?
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 =好的
我正在尝试使用以下命令设置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 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 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文件有以下两行代码:
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)