小编cyb*_*oac的帖子

在Django中使用OneToOneField的ModelForm

我在Django中有两个与OneToOneField(PrinterProfile和PrinterAdress)相关的模型.我试图用PrinterProfileForm做一个表单,但由于某种原因它不会将PrinterAddress字段传递给表单(它不是由模板中的Django"magic"呈现的).

我应该怎么做,以便我的PrinterProfileForm包括PrinterAddress(其相关的OneToOneField)中的字段?

非常感谢

class PrinterProfile(TimeStampedModel):
    user = models.OneToOneField(User)
    phone_number = models.CharField(max_length=120, null=False, blank=False)
    additional_notes = models.TextField()
    delivery = models.BooleanField(default=False)
    pickup = models.BooleanField(default=True)


# The main address of the profile, it will be where are located all the printers.    
class PrinterAddress(TimeStampedModel):
    printer_profile = models.OneToOneField(PrinterProfile)
    formatted_address = models.CharField(max_length=200, null=True)
    latitude = models.DecimalField(max_digits=25, decimal_places=20)  # NEED TO CHECK HERE THE PRECISION NEEDED.
    longitude = models.DecimalField(max_digits=25, decimal_places=20)  # NEED TO CHECK HERE THE PRECISION NEEDED.
    point = models.PointField(srid=4326)

    def __unicode__(self, ):
        return self.user.username

class …
Run Code Online (Sandbox Code Playgroud)

django one-to-one django-forms

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

Django字符串连接模板标签内部的最佳实践

我正在尝试连接一些字符串来格式化我的模板标签中的URL,但我找不到一种优雅的方式.

到目前为止,我所拥有的是:

{% button "Activate" "http://" site.domain url 'registration_activate' activation_key %}
Run Code Online (Sandbox Code Playgroud)

有没有最佳做法让它更具"可读性"?

非常感谢

django django-templates

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

使用自定义间隔将Three.Js场景渲染为动画GIF文件

我试图渲染一个动画Three.js场景(基本上是一个动态网格加载器,将对象自动旋转360度)到GIF文件.基本上我希望GIF包含每隔x秒/ ms从WebGL画布"截屏"的帧.

我一直在寻找几个小时,但我没有找到关于这个主题的任何好的资源.

谢谢.

javascript html5 gif webgl three.js

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

autoslugfield 进入 django-admin 界面?

有没有办法将 django-autoslug 中的 autoslugfield 集成到 Django-admin 界面中?我尝试将其作为“slug”放入 list_display 中,但它没有显示在 django-admin 界面中。

多谢

django django-admin slug

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

Django 开发服务器中的第一个请求非常慢

每当我运行 python manage.py runserver 并在浏览器中使用 localhost:8000 访问我的网站时,第一个请求非常慢(大约 10 秒)。

遵循请求确实很快。有什么办法可以提高这个性能吗?这是非常不方便的,因为在开发过程中,总是会因为代码的更新而重新加载。

多谢。

django django-dev-server

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

argparse 用于未知数量的参数和未知名称

我想获取传递给sys.argv具有格式的所有参数
someprogram.py --someparameter 23 -p 42 -anotherparam somevalue

结果我正在寻找一个包含所有变量的命名空间,已经解析。

据我了解,argparse 期望用户定义他期望的参数。

有什么办法可以用 argparse 做到这一点?谢谢 !

python command-line-interface argparse

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

Django 中的模型管理器 - 没有引用模型类?

我很难理解 Django 1.6 中 modelManager 的工作原理。

我不明白让这段代码工作的魔力在哪里。

在 get_queryset(self) 方法中,没有任何对 Book 类的引用,那么 DahlBookManager 为什么知道在执行 super(DahlBookManager, self) 时需要与 Book 实例一起工作(没有对 Book 模型的引用,并且到目前为止据我所知, self 指的是“DahlBookManager”类型的对象,而不是 Book)。

所以要么有某种魔力,要么我真的需要回顾一下我的 Python 101。我很高兴能得到一些帮助,谢谢!

# First, define the Manager subclass.
class DahlBookManager(models.Manager):
    def get_queryset(self):
        return super(DahlBookManager, self).get_queryset().filter(author='Roald Dahl')

# Then hook it into the Book model explicitly.
class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)

    objects = models.Manager() # The default manager.
    dahl_objects = DahlBookManager() # The Dahl-specific manager.
Run Code Online (Sandbox Code Playgroud)

python django reference

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

subprocess.check_output()没有输出

我正在尝试在Python 2.7.5中运行以下代码:

output = subprocess.check_output(commandList)
print (len(output))
Run Code Online (Sandbox Code Playgroud)

我的命令列表是一个参数列表,如:['ls',' - l'].

但是,即使我有一个很长的输出字符串,我得到的输出长度为0.check_output虽然可以正常工作,因为我可以看到在stdout(控制台)中运行的进程的结果.

理想的用例是运行子进程,隐藏stdout(在控制台中看不到任何内容),解析输出字符串并提取一些相关信息.

python subprocess

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

在 REST Api 调用中批量更新集合的最佳实践

嗨,我正在寻找 API 设计的最佳实践,以通过 API 调用批量更新集合。

我的收藏有 URL /api/v1/cars,我想更新收藏中的所有汽车以添加当前时间的时间戳。

{
    data: [
    {
        manufacturer: 'Porsche',
        timestamp: ...
    },
    {
        manufacturer: 'BMW',
        timestamp: ...
    }
    {
        manufacturer: 'Peugeot',
        timestamp: ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我想了几个选项,但我不知道什么是最佳实践。

应该是:

1/ 建模为另一种资源,例如 POST api/v1/cars/updateTimestamp

2/ 作为查询参数传递: PUT api/v1/cars?updateTimestamp

3/ 传入请求体:

POST api/v1/cars 
{"operation":"Update timestamps"}
Run Code Online (Sandbox Code Playgroud)

我想强调的是,整个处理应该在后端完成,而不是由客户端传递。后端发生的任何复杂处理都会发生同样的问题。在这种情况下,我如何保留 API RESTy。

非常感谢您的帮助/任何指向相关资源的指针。

api rest api-design

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

在 Jenkins 管道中获取 SSH 从节点主机名/IP

我使用 SSH 从设备作为 Jenkins 管道脚本中的节点。

有没有办法获取管道(Jenkinsfile)脚本内节点的主机名/IP?

我正在部署到参数化节点,并希望在脚本末尾回显该节点的 IP。

IE:

node('master') {
    checkout scm
    stash name: 'deploy', includes: 'modules/ci/,modules/compose/'
}

stage ('Deploy to remote server (SSH)') {
    node(${NODE}) {
        unstash 'deploy'
        withEnv(["BRANCH=${BRANCH}"]) {
            sh "chmod +x modules/ci/deployment/*"
            sh "modules/ci/deployment/update.sh"
        }
        echo 'Deployment was successful, branch ${BRANCH} was deployed to https://104.xx.xxx.xx (node IP/hostname)'
    }
}
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins jenkins-pipeline

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

类中的Java风格变量声明

我试图了解Python OOP中的最佳实践.

我非常熟悉Java风格的工作流程:

  1. 属性声明
  2. 属性实例化

我喜欢它的是它在我看来提高了可读性:通过简短地查看属性,你就可以确切地知道你将在课堂上工作.

我想在Python中实现相同的结果,虽然我知道在Python中没有"变量声明"这样的东西,但也许某种设计模式可以做同样的事情.

到目前为止,我的中间解决方案是在__init__方法内部"声明" ,其中:

def __init__(self):
    self.attribute1 = None
    self.attribute2 = None 
Run Code Online (Sandbox Code Playgroud)

并在后续方法中稍后实例化这些元素.但我发现它相当丑陋,我会很高兴听到一个更优雅的模式.

python coding-style variable-declaration

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