小编Shu*_*ham的帖子

创建新内容类型时出错.在尝试单独迁移应用之前,请确保迁移了contenttypes

我正试图从中迁移Django 1.6Django 1.8.我South用于管理migrationsDjango 1.6.我已经成功创建了新的迁移文件python manage.py makemigrations.在运行时python manage.py migrate --fake-initial,我收到此错误

 Traceback (most recent call last):
  File "manage.py", line 39, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-    packages/django/core/management/__init__.py", line 338, in   execute_from_command_line
    utility.execute()
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-  packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 225, in handle
    emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias)
  File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/sql.py", line …
Run Code Online (Sandbox Code Playgroud)

migration django django-south django-1.8

35
推荐指数
3
解决办法
2万
查看次数

在工具栏右侧添加自定义视图

我正在努力实现这个目标(toolbar红色背景中的计时器):

工具栏中的计时器以及红色背景

我尝试添加customViewtoolbar.它始终是在后箭头旁边的极左侧.与下图中的文字一样,YPTextview添加到工具栏的自定义.在此输入图像描述.

代码toolbar:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    android:id="@+id/base_activity_toolbar"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:minHeight="?attr/actionBarSize"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
Run Code Online (Sandbox Code Playgroud)

添加布局的代码:

    LayoutInflater mInflater= LayoutInflater.from(context);
    View mCustomView = mInflater.inflate(R.layout.textview, null);
    toolbar.addView(mCustomView);
Run Code Online (Sandbox Code Playgroud)

这是我正在添加的测试布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="wrap_content"
              android:gravity="end"
              android:layout_height="wrap_content">
    <TextView android:layout_width="wrap_content"
              android:text="yp"
              android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我主要缺少一些东西,想不通.拉出我的头发.

android android-actionbar android-toolbar

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

使用gradle build安装发行版apk后的2个app图标

我正在使用./gradlew assembleRelease命令为app创建发布apk.安装应用程序我得到了2个app.No线索我不知道什么.在谷歌上没有.单击第二个图标时,它只显示Simple Indeterminate.

这是我的build.gradle文件:

buildscript {
repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.0.0'
}
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}


android {
compileSdkVersion 21
buildToolsVersion '20.0.0'



defaultConfig {
    versionCode 23
    versionName "1.1.8.5"
    applicationId "com.squad.run"
    minSdkVersion 10
    targetSdkVersion 20
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}


signingConfigs {
    //Set debug.keystore file here
    release {
        def propsFile = rootProject.file('keystore.properties')
        def Properties props = new Properties() …
Run Code Online (Sandbox Code Playgroud)

android build gradle android-gradle-plugin

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

找到k空组的最早时间

我最近在一次采访中被问到这个问题,我仍然无法想出解决方案.

河里有N个插槽.给出阵列P,其中每个指数表示该位置处的石头将出现的时间.我必须想出一个算法来找到K个连续空槽的最早时间.对于EG

N = 5

P = [2,5,1,4,3]

K = 2

Initially: [0,0,0,0,0] 

All the slots are empty.

Now at:

Time t = 1, second stone will appear --> [0,1,0,0,0]

Time t = 2, fifth stone will appear --> [0,1,**0,0**,1]

Time t = 3, first stone will appear --> [1,1,0,0,1]

Time t = 4, fourth stone will appear --> [1,1,0,1,1]

Time t = 5, third stone will appear --> [1,1,1,1,1]
Run Code Online (Sandbox Code Playgroud)

所以上面案例的答案是2,因为2有时候(k = 2)连续的空槽.

algorithm

8
推荐指数
2
解决办法
6357
查看次数

使用Django Server已发送事件和数据库保存

我正在尝试在Django Framework中实现服务器发送事件(SSE).我很清楚我可以这样实现view:

@csrf_exempt
def event_stream(request):
    def eventStream():
        yield "data:Server Sent Data\n\n"

    response = HttpResponse(eventStream(), content_type="text/event-stream")
    response['Cache-Control'] = 'no-cache'
    return response
Run Code Online (Sandbox Code Playgroud)

但是我想在数据库表中创建一个新条目时触发SSE调用,从post_save表中可以实现,因为eventStream这里是生成器函数.

django generator server-sent-events

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

用于测试的Mock Stripe方法

所以我试图模拟stripe web hooks方法中的所有内容,以便我可以编写Unit test它.我正在使用模拟库模拟条带方法.这是我试图模拟的方法:

class AddCardView(APIView):
"""
* Add card for the customer
"""

permission_classes = (
    CustomerPermission,
)

def post(self, request, format=None):
    name = request.DATA.get('name', None)
    cvc = request.DATA.get('cvc', None)
    number = request.DATA.get('number', None)
    expiry = request.DATA.get('expiry', None)

    expiry_month, expiry_year = expiry.split("/")

    customer_obj = request.user.contact.business.customer

    customer = stripe.Customer.retrieve(customer_obj.stripe_id)

    try:
        card = customer.sources.create(
            source={
                "object": "card",
                "number": number,
                "exp_month": expiry_month,
                "exp_year": expiry_year,
                "cvc": cvc,
                "name": name
            }
        )
        # making it the …
Run Code Online (Sandbox Code Playgroud)

unit-testing django-testing python-mock

6
推荐指数
3
解决办法
3410
查看次数

每次都可以创建新的毕加索实例

是否可以为加载每个图像创建一个新的毕加索实例.例如:

Picasso.with(context)
    .load(url)
    .placeholder(R.drawable.placeholder)
    .error(R.drawable.error)
    .centerInside(
    .tag(context)
    .into(holder.image);
Run Code Online (Sandbox Code Playgroud)

getView()a listAdaptor.它不是LruCache每次创造新的,最终会导致OOM.

也可以将Context传递给毕加索可以是Activity Context:

/** Start building a new {@link Picasso} instance. */
public Builder(Context context) {
  if (context == null) {
    throw new IllegalArgumentException("Context must not be null.");
  }
  this.context = context.getApplicationContext();
}
Run Code Online (Sandbox Code Playgroud)

android out-of-memory picasso

5
推荐指数
1
解决办法
3515
查看次数

DjangoModelFactory JsonField返回Unicode数据而不是字典数据

我正在尝试JSONField使用factoryboy 设置一个类型的字段DjangoModelFactory.这是代码:

class SubmittedAnswer(models.Model):
    data = JSONField(default={})
    is_rule_check_passed = models.NullBooleanField()

class SubmittedAnswerFactory(DjangoModelFactory):
    class Meta:
        model = SubmittedAnswer

    data = {"option_ids": [1]}    
Run Code Online (Sandbox Code Playgroud)

在数据库查询集响应中,我得到的data字段为as Unicode而不是as dict.

'data': u'{"option_ids":[3]}'}]
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

django django-testing factory-boy django-jsonfield

5
推荐指数
1
解决办法
714
查看次数

使用factoryboy将字段保存为JSON

我正在尝试创建一个模型的实例,其中一个字段是JSONField.在创建模型的实例时factoryboy,我想将该字段保存为测试数据库中的JSONField.在简单地传递字段时JSON,它将以Unicode数据类型存储.我坚持这个.

django factory-boy

5
推荐指数
2
解决办法
1419
查看次数

基于性能的 Websockets VS 服务器发送事件(SSE)

我知道两者之间的区别。使用 WebSockets 可以进行双向通信,但使用 SSE 只能将数据推送到浏览器。但与此同时,网络套接字很重。

我正在实施一个小游戏,该游戏将由 8-10 个用户同时玩。每当有人移动时,我都需要更新所有其他玩家的 UI。玩家与游戏的互动极少。在这种情况下,我应该使用 Websockets 进行双向交互,还是使用 SSE 来更新浏览器,并在玩家移动时从浏览器向服务器发送 POST 请求。这将在服务器上获得更高效的性能和负载。我的后端在 Django 中,我将使用 Django 通道进行 SSE 或 Websockets。

django websocket server-sent-events

5
推荐指数
2
解决办法
2845
查看次数

如何使用factory_boy设置用户组

我是Django的新手.我正在尝试设置使用的groups字段.默认类有一个字段.我尝试过设置,但这没有帮助.Userfactory_boyUser_groups

class GroupFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Group

    name = Sequence(lambda n: "group_{0}".format(n))


class UserFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = User

    username = factory.Sequence(lambda n: "user_{0}".format(n))
    password = "test"
    first_name = u'ßhamra'
    last_name = u'ßhamra'
    _groups = factory.SubFactory(GroupFactory)


    @classmethod
    def _create(cls, model_class, *args, **kwargs):
        """
        Override the default ``_create`` with our custom call.
        Due to internal behavior or create user create method that                forces is_staff kwarg


    """
    g = GroupFactory("abc")
    manager = cls._get_manager(model_class)
    is_staff = …
Run Code Online (Sandbox Code Playgroud)

django django-testing factory-boy

3
推荐指数
2
解决办法
1015
查看次数

在Fragment中使用GoogleApiClient递归进入executePendingTransactions

我正在尝试在我的应用中使用Place Autocomplete API.我有一个主要的Activity.我有一个是Fragment其中的一部分MainActivity.在OnViewCreated()Fragment.

 private void rebuildGoogleApiClient() {
    // When we build the GoogleApiClient we specify where connected and connection failed
    // callbacks should be returned and which Google APIs our app uses.
    mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
            .enableAutoManage(activity, 0 /* clientId */, this)
            .addConnectionCallbacks(this)
            .addApi(Places.GEO_DATA_API)
            .build();
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

Caused by: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1471)
        at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488)
        at com.google.android.gms.common.api.zzl.zza(Unknown Source)
        at com.google.android.gms.common.api.GoogleApiClient$Builder.zzkL(Unknown Source)
        at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source)
        at com.app.projectpapri.Fragments.LocationScreen.rebuildGoogleApiClient(LocationScreen.java:69)
        at …
Run Code Online (Sandbox Code Playgroud)

android google-api-client android-fragments google-places-api

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