小编Jam*_*Lin的帖子

管理员中的Django自定义用户模型,关系"auth_user"不存在

我有一个自定义用户模型如下:

class User(AbstractUser):
    subscribe_newsletters = models.BooleanField(default=True)
    old_id = models.IntegerField(null=True, blank=True)
    old_source = models.CharField(max_length=25, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

并使用内置的UserAdmin

admin.site.register(User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)

虽然编辑用户记录工作正常,但是当我添加用户时,我收到以下错误

Exception Value: 
relation "auth_user" does not exist
LINE 1: ...user"."is_active", "auth_user"."date_joined" FROM "auth_user...
Run Code Online (Sandbox Code Playgroud)

django model

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

是否可以在bitbucket管道中使用多个docker镜像?

我有这个管道文件来对我的项目进行单元测试:

image: jameslin/python-test

    pipelines:
      default:
        - step:
            script:
              - service mysql start
              - pip install -r requirements/test.txt
              - export DJANGO_CONFIGURATION=Test
              - python manage.py test
Run Code Online (Sandbox Code Playgroud)

但是可以切换到另一个Docker镜像进行部署吗?

image: jameslin/python-deploy

    pipelines:
      default:
        - step:
            script: 
              - ansible-playbook deploy
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何说明是或否的文件.

bitbucket-pipelines

12
推荐指数
2
解决办法
9343
查看次数

browserify找不到模块'反应'

我有一点反应代码叫main.js:

var React = require('react');

var Comment = React.createClass({
render: function(){
  return (
    <div className="comment">
      <h2 className="commentAuthor">
        {this.props.author}
      </h2>
      <span dangerouslySetInnerHTML={{__html:marked(this.props.children.toString(), {sanitize:true})}} />
    </div>
  );
}
});
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用browserify并使用它重新执行:

browserify -t reactify main.js

但是我收到了这个错误:

Error: Cannot find module 'react' from '/Users/jameslin/projects/reactjs/react-0.13.2'
    at /usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:46:17
    at process (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:173:43)
    at ondir (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:188:17)
    at load (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:69:43)
    at onex (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:92:31)
    at /usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:22:47
    at Object.oncomplete (fs.js:107:15)
Run Code Online (Sandbox Code Playgroud)

鉴于我已安装reactreactifynpm模块:

  • npm install -g react
  • npm install -g reactify

browserify reactjs reactify

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

Django查询集和生成器

突然之间,我想知道使用生成器迭代结果集的以下方式是否会对正常迭代产生任何正面或负面影响?

例如.

def all_items_generator():
  for item in Item.objects.all():
    yield item

for item in all_items_generator():
  do_stuff_with_item(item)
Run Code Online (Sandbox Code Playgroud)

反对:

for item in Item.objects.all():
  do_stuff_with_item(item)
Run Code Online (Sandbox Code Playgroud)

python iteration django generator

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

Google地图放置API getPlace()仅返回某些地址的名称属性

我有一个使用谷歌地图自动完成库的地址搜索框:

var autocompleter = new google.maps.places.Autocomplete(item);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,地址只返回name属性:

Object {name: "138 Manukau Road, Pukekohe, New Zealand"} 
Run Code Online (Sandbox Code Playgroud)

但其他地址提供的数据更多,例如:

Object {address_components: Array[7], adr_address: "<span class="street-address">430 Queen St</span>, …n>, <span class="country-name">New Zealand</span>", formatted_address: "430 Queen St, Auckland, Auckland 1010, New Zealand", geometry: Object, icon: "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"…}address_components: Array[7]adr_address: "<span class="street-address">430 Queen St</span>, <span class="extended-address">Auckland</span>, <span class="locality">Auckland</span> <span class="postal-code">1010</span>, <span class="country-name">New Zealand</span>"formatted_address: "430 Queen St, Auckland, Auckland 1010, New Zealand"geometry: Objecthtml_attributions: Array[0]icon: "http://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png"id: "00fce9b1c43ac960068949cbf32eecb587b0b020"name: "430 Queen St"place_id: "ChIJQfHW8OVHDW0RyHgQRLy8fKc"reference: "CqQBlgAAAIDnkWNQ4cmU624FV6l_bAxmI27czZoytmzrrEWVaXgR5LcZuFqt1cL3WIMzoWhmZNhftRzhLUVwpFjqmw3qwKIqugj02HrvU5x6PtUvepPNPV-08pin_PvRU-__mMMH3N2vILIOLM_AnYFMqNG5MArF4ChZXJxZj6vk7PI3ORJe1W6QjIXoPgesL379E4WUCjrZ0fjv3KgqzB-G4f-8A5MSEN5S47-QZqkY5sl37cIQFWQaFLg4InSVLpYGg8n1gGO958TcA4UK"scope: "GOOGLE"types: Array[1]url: "https://maps.google.com/maps/place?q=430+Queen+St,+Auckland,+Auckland+1010,+New+Zealand&ftid=0x6d0d47e5f0d6f141:0xa77cbcbc441078c8"vicinity: "Auckland"__proto__: Object
Run Code Online (Sandbox Code Playgroud)

我发现了一个类似的问题,有人在2012年提出,看起来没有参加.

google-maps-api-3

9
推荐指数
1
解决办法
2400
查看次数

Django Rest Framework APIRequestFactory请求对象没有属性'query_params'

可以说我有这个APIView

class Dummy(APIView):
    def get(self, request):
        return Response(data=request.query_params.get('uuid'))
Run Code Online (Sandbox Code Playgroud)

为了测试它,我需要创建一个请求对象来传递给get函数

def test_dummy(self):
    from rest_framework.test import APIRequestFactory
    factory = APIRequestFactory()
    request = factory.get('/?uuid=abcd')
    DummyView().get(request)
Run Code Online (Sandbox Code Playgroud)

它抱怨 AttributeError: 'WSGIRequest' object has no attribute 'query_params'

仔细观察,工厂创建一个WSGIRequest实例而不是DRF版本<class 'rest_framework.request.Request'>.

>>> from rest_framework.test import APIRequestFactory
>>> factory = APIRequestFactory()
>>> request = factory.get('/')
>>> request.__class__
<class 'django.core.handlers.wsgi.WSGIRequest'>
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

Shell如何从.env文件设置环境变量

假设我有.env文件包含如下行:

USERNAME=ABC
PASSWORD=PASS
Run Code Online (Sandbox Code Playgroud)

与普通的export前缀不同,所以我无法直接获取文件.

创建从.env文件加载内容并将其设置为环境变量的shell脚本的最简单方法是什么?

shell

9
推荐指数
4
解决办法
6954
查看次数

跨模块的 ContextVars

我对 asyncio 完全陌生ContextVars,我刚刚阅读了 3.7 中的新内容并发现ContextVars,我很难理解它的用法,我只知道它在协程中很有帮助,而不是使用thread.localshould use ContextVars。但是官方文档和顶级谷歌搜索结果都无法帮助我真正理解其目的。

那么凸变量是跨模块共享的吗?我试过:

例子.py

from contextvars import ContextVar

number = ContextVar('number', default=100)
number.set(1)
Run Code Online (Sandbox Code Playgroud)

然后我尝试导入 number.py

(playground) Jamess-MacBook-Pro-2:playground jlin$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import example
>>> from contextvars import ContextVar
>>> number = ContextVar('number', default=200)
>>> number.get()
200
Run Code Online (Sandbox Code Playgroud)

我原以为number.get()会返回 1,但显然我理解它的目的是错误的。

有人可以帮我理解这一点吗?

python python-3.7 python-contextvars

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

Python str(u'a')和u'a'.encode('utf-8')之间的区别是什么?

作为标题,是否有理由不使用str()将unicode字符串转换为str?

>>> str(u'a')
'a'
>>> str(u'a').__class__
<type 'str'>
>>> u'a'.encode('utf-8')
'a'
>>> u'a'.encode('utf-8').__class__
<type 'str'>
>>> u'a'.encode().__class__
<type 'str'>
Run Code Online (Sandbox Code Playgroud)

更新:谢谢你的答案,也不知道我是否使用特殊字符创建一个字符串它会自动转换为utf-8

>>> a = '€'
>>> a.__class__
<type 'str'>
>>> a
'\xe2\x82\xac'
Run Code Online (Sandbox Code Playgroud)

也是python 3中的Unicode对象

python unicode

8
推荐指数
1
解决办法
1535
查看次数

带有子查询的 Django ListView 给出此版本的 MySQL 尚不支持“LIMIT &amp; IN/ALL/ANY/SOME 子查询”

我有以下模型:

class Credit(models.Model):
  user = models.ForeignKey(User)
  ...
Run Code Online (Sandbox Code Playgroud)

和一个列表视图

class CreditListView(ListView):
  paginate_by = 10
  model = Credit
  ...
Run Code Online (Sandbox Code Playgroud)

如果我想在 CreditListView 侧按用户过滤学分:

def get_queryset(self):
    users = User.objects.filter(...)[:10]
    credits = Credits.objects.filter(user__in=users)
    return credits
Run Code Online (Sandbox Code Playgroud)

我会得到一个 NotSupportedError 异常:

(1235, "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'")
Run Code Online (Sandbox Code Playgroud)

django

8
推荐指数
1
解决办法
2684
查看次数