小编Mik*_*ike的帖子

Python XML to dictionary to iterate items

我有以下XML示例

<?xml version="1.0"?>
<test>
    <items>
        <item>item 1</item>
        <item>item 2</item>
    </items>
</test>
Run Code Online (Sandbox Code Playgroud)

我需要迭代python中的for循环中的每个标记.如果尝试了很多东西,但我无法得到它..

谢谢您的帮助

python xml

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

GitPython 获取文件的提交

我正在寻找使用 gitpython 来获取树上的数据..列出文件提交的时间和给出的日志..据我所知是

from git import *
repo = get_repo("/path/to/git/repo")
for item in repo.tree().items():
    print item[1]
Run Code Online (Sandbox Code Playgroud)

那只是列出了诸如

<git.Tree "ac1dcd90a3e9e0c0359626f222b99c1df1f11175">
<git.Blob "764192de68e293d2372b2b9cd0c6ef868c682116">
<git.Blob "39fb4ae33f07dee15008341e10d3c37760b48d63">
<git.Tree "c32394851edcff4bf7a452f12cfe010e0ed43739">
<git.Blob "6a8e9935334278e4f38f9ec70f982cdc4f42abf0">
Run Code Online (Sandbox Code Playgroud)

我在 git.Blog 文档中没有看到您可以获取此数据的任何地方。

python git

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

django删除模型并覆盖删除方法

我有2个型号

class Vhost(models.Model):
    dns = models.ForeignKey(DNS)
    user = models.ForeignKey(User)
    extra = models.TextField()


class ApplicationInstalled(models.Model):
    user = models.ForeignKey(User)
    added = models.DateTimeField(auto_now_add=True)
    app = models.ForeignKey(Application)
    ver = models.ForeignKey(ApplicationVersion)
    vhost = models.ForeignKey(Vhost)
    path = models.CharField(max_length=100, default="/")


    def delete(self):

        #
        # remove the files
        #
        print "need to remove some files"


        super(ApplicationInstalled, self).delete()
Run Code Online (Sandbox Code Playgroud)

如果我做以下事情

>>> vhost = Vhost.objects.get(id=10)
>>> vhost.id
10L
>>> ApplicationInstalled.objects.filter(vhost=vhost)
[<ApplicationInstalled: http://wiki.jy.com/>]
>>> vhost.delete()
>>> ApplicationInstalled.objects.filter(vhost=vhost)
[]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有一个应用程序安装的对象链接到vhost但是当我删除vhost时,应用程序安装的对象已经消失但是打印永远不会被调用.

没有迭代vhost中的对象删除任何简单的方法吗?

def delete_apps(sender, **kwargs):
    obj = kwargs['instance']

    print "need to delete apps" …
Run Code Online (Sandbox Code Playgroud)

django django-models

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

找不到“算法”文件

我正在尝试使用以下库在 Xcode 中创建一个简单的控制台应用程序:

https://github.com/marstone/ingress-ios/tree/master/s2-geometry

我正在找到该库,但没有找到算法库。

示例代码示例

#import <Foundation/Foundation.h>

#import "S2Geometry.h"

#include "s2.h"
#include "s2cellid.h"
#include "s2latlng.h"
#include "s2latlngrect.h"
#include "s2regioncoverer.h"

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...
        NSLog(@"Hello, World!");

        S2LatLngRect rect = S2LatLngRect(S2LatLng::FromDegrees(MIN(37.78272, 37.781719), MIN(-121.971427, -121.972007)), S2LatLng::FromDegrees(MAX(37.78272,
37.781719), MAX(-121.971427, -121.972007)));
    }
    return 0; }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

 ./s2-geometry/s2.h:6:10: fatal error: 'algorithm' file not found
Run Code Online (Sandbox Code Playgroud)

objective-c objective-c++

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

py.test来自另一个文件的装置

我有以下文件要测试

manage.py

import socket
def __get_pod():
    try:
        pod = socket.gethostname().split("-")[-1].split(".")[0]
    except:
        pod = "Unknown"

    return pod
Run Code Online (Sandbox Code Playgroud)

这是我的测试脚本tests / test_manage.py

import sys
import pytest

sys.path.append('../')

from manage import __get_pod

#
# create a fixture for a softlayer IP stack
@pytest.fixture
def patch_socket(monkeypatch):

    class my_gethostname:
        @classmethod
        def gethostname(cls):
            return 'web01-east.domain.com'

    monkeypatch.setattr(socket, 'socket', my_gethostname)


def test__get_pod_single_dash():
    assert __get_pod() == 'east'
Run Code Online (Sandbox Code Playgroud)

因此,当我希望测试它使用我的固定装置时,它会托管我的笔记本电脑主机名..是否可以在另一个文件中使用固定装置?

$ py.test -v
======================================================================= test session starts ========================================================================
platform darwin -- Python 2.7.8 -- py-1.4.26 -- pytest-2.6.4 -- /usr/local/opt/python/bin/python2.7
collected 1 items …
Run Code Online (Sandbox Code Playgroud)

python unit-testing pytest

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

Django覆盖表单

某些形式的另一个问题

这是我的模特

class TankJournal(models.Model):
    user = models.ForeignKey(User)
    tank = models.ForeignKey(TankProfile)
    ts = models.IntegerField(max_length=15)
    title = models.CharField(max_length=50)
    body = models.TextField()
Run Code Online (Sandbox Code Playgroud)

这是我的模型

class JournalForm(ModelForm):
    tank = forms.IntegerField(widget=forms.HiddenInput()) 

    class Meta:
        model = TankJournal
        exclude = ('user','ts')
Run Code Online (Sandbox Code Playgroud)

这是我保存它的方法

def addJournal(request, id=0):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/')

    #
    # checking if they own the tank
    #
    from django.contrib.auth.models import User
    user = User.objects.get(pk=request.session['id'])

    if request.method == 'POST':
        form = JournalForm(request.POST)

        if form.is_valid():
            obj = form.save(commit=False)

            #
            # setting the user and ts
            #
            from time …
Run Code Online (Sandbox Code Playgroud)

python forms django

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

django内连接查询

我正在与django合作,并且很难掌握如何进行复杂的查询

这是我的模特

class TankJournal(models.Model):
    user = models.ForeignKey(User)
    tank = models.ForeignKey(TankProfile)
    ts = models.DateTimeField(auto_now=True)
    title = models.CharField(max_length=50)
    body = models.TextField()

    class Meta:
        ordering = ('-ts',)
        get_latest_by = 'ts'
Run Code Online (Sandbox Code Playgroud)

我需要拉出坦克对象给出的用户名.

用户对象是django中内置的一个..谢谢!

编辑:

我试过这个

print User.objects.filter(tankjournal__tank__exact=id)
Run Code Online (Sandbox Code Playgroud)

它似乎没有拉出id ...并将tankjournal中的所有内容拉出来并将其与坦克对象相匹配

django inner-join

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

django更新模型

我的模型如下

class UserPrivacy(models.Model):
    user = models.ForeignKey(User)
    profile = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    contact = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    friends = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
    location = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
Run Code Online (Sandbox Code Playgroud)

我的模型如下

class PrivacyForm(ModelForm):
    class Meta:
        model = UserPrivacy
        exclude = ('user','location')
Run Code Online (Sandbox Code Playgroud)

我的函数看起来像这样显示和更新表单.

def show_privacy(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = PrivacyForm(request.POST, instance=User.objects.get(pk=request.session['id']))
        if form.is_valid():
            form.save()

    else:
        form = PrivacyForm()

    return render_to_response('settings_privacy.html', {'form': form}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我在db中的user_id是1 ..但是当我发布表单时,它永远不会更新.我知道form.save()因为在那里放一个打印而被调用,它会在开发服务器中显示出来.

django modelform

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

Django内容类型问题

我有一个链接内容类型的问题.我正试图从这个模型中取出一个标题

class TankProfile(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=100)
    tank_type = models.SmallIntegerField(max_length=1, choices=TANK_TYPE, db_index=True, default=1, verbose_name="Tank Type")
    ts = models.DateTimeField(auto_now=True)
    tsStart = models.DateTimeField(auto_now_add=True)
    tsEnd = models.DateTimeField(null=True, auto_now=False, blank=True)
    pic = models.CharField(max_length=25)
    slug = models.CharField(max_length=100)

    def __unicode__(self):
        return str(self.title)

    def get_title(self):
        return "%s" % self.title
Run Code Online (Sandbox Code Playgroud)

我的链接模型如下使用contenttype

class Photo(models.Model):
    album = models.ForeignKey(Album)
    user = models.ForeignKey(User)
    content_type = models.ForeignKey(ContentType, related_name="content_type_set_for_%(class)s")
    object_pk = models.IntegerField(_('object ID'))
    server = models.CharField(max_length=20)
    dir = models.CharField(max_length=20)
    image = models.CharField(max_length=20)
    added = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=150)
    about = models.TextField()


    def …
Run Code Online (Sandbox Code Playgroud)

django content-type

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

django-rest-framework和自定义路线

我有以下设置.

router = routers.DefaultRouter()
router.register(r'post', PostViewSet)
Run Code Online (Sandbox Code Playgroud)

然后在我的urlpatterns

url(r'^api/', include(router.urls)),
Run Code Online (Sandbox Code Playgroud)

然后在我的views.py中

 class PostViewSet(viewsets.ModelViewSet):
Run Code Online (Sandbox Code Playgroud)

现在,这对我的用例非常有效,但我也想做一些这样的事情来获取某一天的数据

/api/post/2013/08/09/
Run Code Online (Sandbox Code Playgroud)

这将取出当天的所有数据..我有点不确定如何在django-rest做自定义路线

django routes django-rest-framework

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

HTML/CSS:更大链接上的可点击链接

我有以下代码

<a href="http://yahoo.com">
  <div style="position: relative; z-index: -2; background-color:#333; height:200px;">
    <img style="position: absolute;top: 0;left: 0;z-index: -1;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png" alt="Dice" />
    <div style="position: absolute; top: 0;left: 0; padding:5px; z-index:3; border: 1px solid red;" >
        <a href="http://google.com" style="color:#fff;">Can you click me?</a>
    </div>
  </div>
</a>
Run Code Online (Sandbox Code Playgroud)

目标是我可以点击"你能点击我"框并转到谷歌和时钟在包含div的其他任何地方去雅虎.

我似乎无法使其发挥作用.

html css

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