小编Ofe*_*mon的帖子

django rest框架 - 使用viewsets

我读了关于django中的视图集,但还没有完全理解一切..

例如,在django中使用视图集时 -

class SnippetViewSet(viewsets.ModelViewSet):
    """
    This viewset automatically provides `list`, `create`, `retrieve`,
    `update` and `destroy` actions.

    Additionally we also provide an extra `highlight` action.
    """
    queryset = Snippet.objects.all()
    serializer_class = SnippetSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,
                          IsOwnerOrReadOnly,)

    @detail_route(renderer_classes=[renderers.StaticHTMLRenderer])
    def highlight(self, request, *args, **kwargs):
        snippet = self.get_object()
        return Response(snippet.highlighted)
Run Code Online (Sandbox Code Playgroud)

路由是这样的

router = DefaultRouter()
router.register(r'snippets', views.SnippetViewSet)
Run Code Online (Sandbox Code Playgroud)

在视图中的评论中,他们说 - "此视图集自动提供list,createretrieve,update以及destroy操作."

编辑:::

 @detail_route(methods=['post'])
    def register(request):
        serializer = UserSerializer(data=request.DATA)
        if serializer.is_valid():
            user = User.objects.create_user( …
Run Code Online (Sandbox Code Playgroud)

python routing views django-rest-framework

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

更改区域设置,但保持从左到右和其他电话方向

我有一个应用程序,有两种语言版本 - 英语和希伯来语.

我使用翻译编辑器添加了希伯来语字符串,我根据用户选择更改了语言环境.

更改Locale时,它会像我想要的那样将字符串设置为希伯来语,但它也会将工具栏方向从右向左更改为希伯来语,并将标题和后退按钮置于右侧.

英语区域设置(默认):

在此输入图像描述

希伯来语区域: 在此输入图像描述

有没有办法让工具栏方向像英文一样?我想保留工具栏左侧的后退按钮标题.

编辑:在添加android:layoutDirection="ltr"或之后添加android:supportsRtl="false"toolbarxml.箭头向后.怎么解决它?

在此输入图像描述

android locale translation localization

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

解码 H264 帧 C#

我在 C# 中使用托管媒体聚合 - https://net7mma.codeplex.com/

我有一个 Rtsp 客户端,它接收以 h264(有效负载类型 96)编码的 RTP 帧。我希望能够将帧保存到视频文件中,并且还可以告诉视频何时开始\结束。

我做了一些阅读,我读到逐个解码 h264 帧是一个问题......我真的不明白为什么。

这是为我收到的每个 RTP 帧引发的方法

void Client_RtpFrameChanged(object sender, Media.Rtp.RtpFrame frame)
{
    // Decode
}
Run Code Online (Sandbox Code Playgroud)
  1. 有人可以解释为什么逐个解码 h264 帧会出现问题吗?
  2. 是否有开源/库/dll?

非常感谢!

c# video decode h.264

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

django - "类型不正确.预期pk值,收到str"错误

我的django-rest-framework我有以下型号:

基本上每辆车都有一个最终目的地,可以有多个中间目的地.

models.py:

class Destination(models.Model):
    name=models.CharField(max_length=30)

class Ride(models.Model):
    driver = models.ForeignKey('auth.User', related_name='rides_as_driver')
    destination=models.ForeignKey(Destination, related_name='rides_as_final_destination')
    leaving_time=models.TimeField()
    num_of_spots=models.IntegerField()
    passengers=models.ManyToManyField('auth.User', related_name="rides_as_passenger")
    mid_destinations=models.ManyToManyField(Destination, related_name='rides_as_middle_destination')
Run Code Online (Sandbox Code Playgroud)

serializers.py - RideSerializer

class RideSerializer(serializers.ModelSerializer):
    driver = serializers.ReadOnlyField(source='driver.user.username')

    class Meta:
        model = Ride
        fields = ('driver', 'destination', 'leaving_time',
                  'num_of_spots', 'passengers', 'mid_destinations')
        read_only_fields = ('driver', 'passengers', 'mid_destinations')
Run Code Online (Sandbox Code Playgroud)

问题是 -当我尝试POST到/ rides /以便添加骑行时 - 例如{destination=LA, leaving_time=19:45, num_of_spots=4}

我收到错误 "destination":["Incorrect type. Expected pk value, received str."]}

几个问题:

  • 这个错误是什么?如果我在Ride模型中有一个目的地作为外键,是否意味着我添加的目的地必须已经在目的地表中?

  • 如何解决这个错误?

django serialization foreign-keys django-rest-framework

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

android - Butterknife在自定义视图中绑定到片段

我有一个包含自定义视图的片段.

在片段中我这样做ButterKnife.bind:

    View root = inflater.inflate(R.layout.fragment_home, container, false);
    ButterKnife.bind(this, root);
Run Code Online (Sandbox Code Playgroud)

我设法绑定观点.

现在,片段包含我创建的自定义视图.在MenuToggleButton自定义视图中,我想绑定另一个视图,并使用它进行操作.

我遇到的问题是,我不知道如何从自定义视图(位于片段中)内部访问片段的根视图.

public MenuToggleButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        final Activity activity = (Activity) context;
        ButterKnife.bind(this, // need to get the fragment root view somehow);
    }
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得片段根视图以便像我在片段中那样绑定它?

android android-fragments android-view butterknife

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

java - google guava缓存invalidateAll()和cleanUp()之间的区别

说我的Cache定义如下:

private static Cache<String, Long> alertsUIDCache = CacheBuilder.newBuilder().
           expireAfterAccess(60).build();
Run Code Online (Sandbox Code Playgroud)

从我读到的内容(如果我错了请纠正我):

如果Cache在0:00 写入值,则应在60秒后将其移至"准备被驱逐"状态.实际删除的值Cache将在下一次缓存修改时发生(什么是缓存修改?).是对的吗?

另外,我不确定invalidateAll()cleanUp()方法之间有什么区别,有人可以提供解释吗?

java guava google-guava-cache

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

写入Google云端硬盘电子表格

我阅读了很多关于Google Drive API,Google表格API和其他内容的信息,但所有版本都在不断变化,我不明白我应该使用什么...

我有一个Android应用程序,我想用它来写文本到现有的Google云端硬盘电子表格.

示例:只需要一个edittext,我可以在其中放置文本并将其放在电子表格中的特定单元格中.

电子表格位于与某些人共享的文件夹中,我希望用户输入一个邮件地址,然后(确保该文件夹与他共享后)可以写入该文件夹中的电子表格.

还需要从电子表格中检索文本.

有没有人在android中有这样的经验?

谢谢!

android google-docs-api google-drive-api

4
推荐指数
1
解决办法
8363
查看次数

Android Wifi Scan - 无法调用SCAN_RESULTS_AVAILABLE_ACTION的BroadcastReceiver

这是我的代码:

public class FloatWifiManager implements IWifiManager {

    private WifiManager wifiManager;

    private BroadcastReceiver wifiScanReceiver;

    public FloatWifiManager(Context context) {
        ...
        wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

        // Registering Wifi Receiver
        wifiScanReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context c, Intent intent) {
                if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
                    // not getting called, only after running app and manually going to the wifi settings in android
                }
            }
        };

        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
        context.registerReceiver(wifiScanReceiver, intentFilter);
        wifiManager.startScan();
    }
Run Code Online (Sandbox Code Playgroud)

我注册的BroadcastReceiver就像我在所有的例子中看到的那样,并且做到了startScan.

会发生什么,wifi列表正在改变(当然,我测试过),但 …

android broadcastreceiver wifimanager android-wifi android-broadcast

4
推荐指数
1
解决办法
8082
查看次数

java 8 - 在HashMap中存储方法并从map中的方法获取返回值

我想将方法​​指针存储在map中,以便根据字符串值执行它们.从我发现的,我可以Map<String, Runnable>用来做,但问题是我想从方法中获得返回值.

说我有这样的事情:

private Map<String, Runnable> timeUnitsMap = new HashMap<String, Runnable>() {{
    timeUnitsMap.put("minutes", () -> config.getMinutesValues());
}}
Run Code Online (Sandbox Code Playgroud)

该方法config.getMinutesValues()来自另一个类.

我如何int value = timeUnitsMap.get("minutes").run();在地图中存储或存储其他内容(而不是Runnable)以便从地图中的函数中获取值?

java lambda java-8 functional-interface

4
推荐指数
1
解决办法
5308
查看次数

Sublime Text 3 - 仅将快捷方式应用于特定文件类型

我正在使用Sublime Text 3,我安装JSFormat了格式化我的.js文件并配置了这样的键绑定:

{ "keys": ["ctrl+shift+f"], "command": "js_format" }
Run Code Online (Sandbox Code Playgroud)

现在,我也希望能够格式化我.css.html文件,所以我发现这个快捷方式:

{ "keys": ["ctrl+shift+f"], "command": "reindent" , "args": { "single_line": false } }
Run Code Online (Sandbox Code Playgroud)

我想js_format用于我的.js文件并reindent用于我.css.html文件.

是否可以为每个快捷方式指定文件类型?

keyboard-shortcuts sublimetext sublimetext3

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