小编mog*_*goh的帖子

如何使用maven和eclipse的android库(apklibs)?

我正在使用Eclipse 3.7.2 + Android + Maven + m2e,我有一个问题,通过Maven包含的Android库作为apklibs.我用两个项目mvntest1(主项目)和mvntest2(我的库项目)构建了一个测试场景.的pom.xml的是该文本之后包括在内.

到现在为止还挺好.我可以通过控制台构建mvntest2$ mvn install而不会出现任何错误.因此,我在我的本地maven存储库(~/.m2/repository/mvntest2/mvntest2/0.0.1-SNAPSHOT/mvntest2-0.0.1-SNAPSHOT.apklib)中有一个apklib .

但是:包括不起作用.Eclipse不包含mvntest1mvntest2的类等.我已经清理,更新了配置和依赖项,没有任何帮助.

我究竟做错了什么?请帮忙.如果缺少某些信息,请问.

======= mvntest1/pom.xml =====

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mvntest1</groupId>
<artifactId>mvntest1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>apk</packaging>
<name>mvntest1</name>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>2.1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>mvntest2</groupId>
        <artifactId>mvntest2</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>
</dependencies>
<build>
    <finalName>${project.artifactId}</finalName>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory>
                <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
                <sdk>
                    <platform>7</platform>
                </sdk>
                <deleteConflictingFiles>true</deleteConflictingFiles>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <extensions>true</extensions> …
Run Code Online (Sandbox Code Playgroud)

eclipse android maven m2e

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

在 Fabric 2/Invoke 中:更改目录并使用 sudo

这工作得很好

@task
def foo(context):
    with context.cd('/'):
        context.run('pwd')
Run Code Online (Sandbox Code Playgroud)

输出:

/
Run Code Online (Sandbox Code Playgroud)

但这不会:

@task
def bar(context):
    with context.cd('/'):
        context.sudo('pwd', password='mysecretpassword')
Run Code Online (Sandbox Code Playgroud)

输出:

[sudo] password: sudo: cd: Befehl nicht gefunden
Run Code Online (Sandbox Code Playgroud)

如何让第二个示例运行?

python fabric

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

Django Admin Action Confirmation页面

在我的Django项目中,我有一个需要确认页面的管理操作.我将它定位在delete_selected操作上,但它不起作用.这就是我所拥有的.

我的admin.py的一部分

def my_action(modeladmin, request, queryset):
    if request.POST.get('post'):
        print "Performing action"
        # action code here
        return None
    else:
        return TemplateResponse(request, "admin/my_action_confirmation.html")
Run Code Online (Sandbox Code Playgroud)

管理员/ my_action_confirmation.html

<form action="" method="post">{% csrf_token %}
    <div>
        <input type="hidden" name="post" value="yes" />
        <input type="hidden" name="action" value="my_action" />
        <input type="submit" value="Confirm" />
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这几乎起作用.我进入确认页面,但是如果我点击"确认",我就会回到原始页面.永远不会到达带有操作代码的部分.实际上,my_action函数不是第二次调用.那么我怎么告诉django,一旦我点击确认,我的第二次调用my_action函数?

django django-admin

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

带括号的上下文管理器在 python 3.9 中有效,但在 3.8 中无效

所以我有一个简单的声明示例with。它适用于 Python 3.8 和 3.9:

class Foo:
    def __enter__(self, *args):
        print("enter")

    def __exit__(self, *args):
        print("exit")

with Foo() as f, Foo() as b:
    print("Foo")
Run Code Online (Sandbox Code Playgroud)

输出(如预期):

enter
enter
Foo
exit
exit
Run Code Online (Sandbox Code Playgroud)

但如果我像这样添加括号,它只适用于 Python 3.9:

class Foo:
    def __enter__(self, *args):
        print("enter")

    def __exit__(self, *args):
        print("exit")

with (Foo() as f, Foo() as b):
    print("Foo")
Run Code Online (Sandbox Code Playgroud)

3.8 中的输出:

  File "foo.py", line 8
    with (Foo() as f, Foo() as b):
                ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我知道,我可以删除括号,但我不明白为什么它首先在 Python 3.9 中工作。我找不到相关的变更日志。

python with-statement contextmanager python-3.x python-3.9

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

如何结合 Django 的“LoginRequiredMixin”和表单工具的“FormPreview”?

LoginRequiredMixin在其他基于类的视图上效果很好。表单工具也FormPreview运行良好。但是当我尝试同时使用两者时,它们LoginRequiredMixin就会被忽略。

如果我使用表单工具Django 文档中最基本的示例,情况也是如此。

我发现两件事很奇怪(但这不一定是原因):

  • “这个 mixin 应该位于继承列表的最左边。” 这听起来像是有一些内部黑客行为,如果有人做了一些不规则的事情,就会崩溃。没有解释为什么。
  • 表单工具视图应该被称为它本身,而不是方法.as_view(),这又不符合标准。

这是一个错误吗?我能做些什么?

python django django-forms django-authentication

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