小编Col*_*len的帖子

在Python中解析HTTP响应

我想操纵这个网址上的信息.我可以成功打开它并阅读其内容.但我真正想要做的就是抛弃我不想要的所有东西,并操纵我想要保留的东西.

有没有办法将字符串转换为字典,以便我可以迭代它?或者我只需按原样解析它(str类型)?

from urllib.request import urlopen

url = 'http://www.quandl.com/api/v1/datasets/FRED/GDP.json'
response = urlopen(url)

print(response.read()) # returns string with info
Run Code Online (Sandbox Code Playgroud)

api json dictionary urlopen python-3.x

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

Python - 类和OOP基础知识

我不完全理解课程.我已经阅读了python文档和其他几个教程.我得到了它的基本要点,但不明白细微差别.比如我的代码在这里:

class whiteroom():
    """ Pick a door: red, blue, green, or black. """

    do = raw_input("> ")

    if "red" in do:
        print "You entered the red room."

    elif "blue" in do:
        print "You entered the blue room."

    elif "green" in do:
        print "You entered the green room."

    elif "black" in do:
        print "You entered the black room."

    else:
        print "You sit patiently but slowly begin to stave.  You're running out of time."
        return whiteroom()

game = whiteroom()
game
Run Code Online (Sandbox Code Playgroud)

(原始键盘 …

python oop

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

检查是否存在嵌套属性

我有一个嵌套OrderedDict,我想从中提取一个值.但在我提取该值之前,我必须确保存在一长串属性,并且它们的值不是无.

改进以下代码的最pythonic方法是什么:

if 'first' in data and \
    data['first'] and \
    'second' in data['first'] and \
    data['first']['second'] and \
    'third' in data['first']['second'] and \
    data['first']['second']['third']:
    x = data['first']['second']['third']
Run Code Online (Sandbox Code Playgroud)

python python-2.7 data-structures

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

具有自定义用户模型的PasswordChangeForm

我最近通过子类化抽象用户实现了我自己的用户模型.

class NewUserModel(AbstractUser):

我这样做后PasswordChangeForm停止了工作.我UserCreationForm通过覆盖class Meta:模型字段修复了问题.但是,ChangePasswordForm它没有指定模型,我看不出为什么它不适用于新用户模型的任何原因.

views.py

class PasswordChangeView(LoginRequiredMixin, FormView):
    template_name = 'change_password.html'
    form_class = PasswordChangeForm

    def get_form_kwargs(self):
        kwargs = super(PasswordChangeView, self).get_form_kwargs()
        kwargs['user'] = self.request.user
        return kwargs
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

如何防止将空白数据插入MySQL表?

也是恶意插入

我已经看到这个问题,但没有一个回复对我有用(或者说我太愚蠢了,不能让它们起作用).我想我需要个性化的帮助.每次刷新我的php页面时都会插入空白数据.如何防止插入空白和/或恶意数据.

这是我的代码:

 <?php

    $con = mysql_connect("localhost","user","pass") or die ("Couldn't connect!");
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("streams") or die ("Couldn't find db");

    $sql="INSERT INTO streams (streamname)
    VALUES ('$_POST[streamname]')";

    if (!mysql_query($sql,$con))
    {
        die('Error: ' . mysql_error());
    }

    echo "1 record added";


    mysql_close($con)

?>

<form action="submit.php" method="POST">
    Stream Name: <input type="text" name="streamname" id="streamname" /><br />
    <input type="submit" name="submit" value="Stream" />
</form> 
Run Code Online (Sandbox Code Playgroud)

php mysql database

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

hybrid_property表达式中的if语句

我有一个hybrid_property执行一些条件并返回响应的。我希望能够对此字段进行查询,所以我创建了一个expression。但是,我不确定如何为这种用例编写条件。

如何根据条件的结果编写一个将两个字段之一与另一个字段相乘的表达式?

@hybrid_property
def func(self):
    if self.some_column is True:
        return self.true_column * self.amount
    return self.false_column * self.amount

@func.expression
def func(cls):
    # ???
    return
Run Code Online (Sandbox Code Playgroud)

python conditional sqlalchemy

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

Django、Gunicorn 和设置目录

我重构了一个已经部署(并且运行良好)的 Django 项目,以使用设置目录而不是 settings.py 文件。项目结构如下图:

project/
    app1/
    app2/
    project/
        settings/
            __init__.py
            base.py
            production.py
Run Code Online (Sandbox Code Playgroud)

服务器已停止工作。我收到 502 错误。我相信这是因为gunicorn 找不到设置文件了。我尝试更改我的 wsgi 文件以使用生产而不是设置。

wsgi.py

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings.production")
Run Code Online (Sandbox Code Playgroud)

生产.py

from .base import *
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ["site.com", "ip"]
Run Code Online (Sandbox Code Playgroud)

base.py对于一些静态和媒体路由来说几乎是默认的。

问题

我如何告诉gunicorn我的新文件夹结构,以便它知道要运行的正确设置文件。

编辑

暴发户错误:gunicorn: Worker failed to boot.

第二个错误:Import Error: No module named project.wsgi

python django nginx gunicorn

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

棉花糖的圆形进口

我有两个彼此相关的对象.我希望能够通过浏览相关属性来访问另一个对象.

例如 A.b_relationship.obj.some_property

如何在不创建循环导入的情况下执行此操作?

# lib.py
class Relationship(object):

    def __init__(self, obj):
        self.obj = obj


# a.py
class A(object):
    b_relationship = Relationship(B)

# b.py
class B(object):
    a_relationship = Relationship(A)
Run Code Online (Sandbox Code Playgroud)

为清楚起见,我添加了这个额外的例子.显然,SQLAlchemy用该backref属性解决了这个问题.我不确定在不破坏它的工作方式的情况下将这种东西应用到棉花糖中是多么可行.也许我需要改变我的心态?

from marshmallow import Schema
from marshmallow.fields import String

from project.database import db


class PersonModel(db.Model):
    name = db.Column(db.String)


class PetModel(db.Model):
    name = db.Column(db.String)
    owner = db.relationship('PersonModel', backref='pets')


class PersonSchema(Schema):
    name = fields.String(init_arg='some value')
    pets = fields.Relationship(related_schema=PetSchema)


class PetSchema(Schema):
    name = fields.String()
    owner = fields.Relationship(related_schema=PersonSchema)
Run Code Online (Sandbox Code Playgroud)

python python-import importerror marshmallow

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