小编Tim*_*ony的帖子

virtualenv之间的无法解释的Urllib2问题.

我有一些测试代码(作为webapp的一部分),它使用urllib2来执行我通常通过浏览器执行的操作:

  • 登录远程网站
  • 转到另一个页面
  • 填写表格进行POST

我在3台不同的机器上创建了4个独立的,干净的virtualenvs(带有--no-site-packages),所有机器都有不同版本的python,但是完全相同的包(通过pip requirements文件),代码只适用于两个我的本地开发机器(2.6.1和2.7.2)上的virtualenvs - 它不适用于我的任何一个生产VPS

在失败的情况下,我可以成功登录,移动到正确的页面但是当我提交表单时,远程服务器回复告诉我发生了错误 - 这是一个应用程序服务器错误页面('我们无法完成你的请求')而不是网络服务器错误.

  • 因为我可以成功登录并操作到第二页,这似乎不是会话或cookie问题 - 这对于最终的POST是特别的
  • 因为我可以使用EXACT相同的标题和数据在特定的机器上执行操作,这似乎不是我请求/发布的问题
  • 因为我正在尝试从不同公司租用的两个独立VPS上的代码,这似乎不是VPS物理环境的问题
  • 因为代码适用于2个不同的python版本,我无法想象它是一个无法解决的问题

在这个阶段我完全迷失了为什么这不起作用.我甚至'再次关闭它 - 因为我无法看到问题可能是什么.

我认为它必须与来自远程服务器不喜欢的VPS的最终POST有关,但我无法弄清楚它可能是什么.我觉得在URLlib的引擎下发生了一些导致远程服务器不喜欢回复的事情.

编辑 我在VPS上安装了与我工作的本地副本完全相同的Python版本(2.6.1),它不能远程工作,所以它必须与源自VPS的东西有关.这怎么会影响Http请求?是低级别的吗?

python cookies http mechanize urllib2

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

OpenCV手检?

我已经创造了一个完美的皮肤探测器,但它可以探测到所有皮肤 将手与其他皮肤分开的可能选择是什么?

我不想使用haar标识符,所以请不要建议.

c++ opencv image-processing computer-vision

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

在Django模型中创建外键

我的学生模型中有以下内容.我想跟踪给每个学生的每个点的日期.这个想法是这样我不仅可以看到每个学生有多少分,而且还可以看到每个学分的日期.在未来,我希望看到学生积分的趋势.我该怎么办呢?我应该在另一个班级使用外键吗?我是新手,所以感谢阅读.

class Student(models.Model): 
  CLASS_CHOICES = ( 
    (u'Yoga','Yoga'), 
    (u'Spanish', 'Spanish'), 
    (u'French', 'French'), 
    (u'Dance', 'Dance'), 
  ) 
  name = models.CharField(max_length=30) 
  points = models.IntegerField(max_length=4) 
  classname = models.CharField("Class Name",max_length=20, choices=CLASS_CHOICES) 
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

使用 django ModelForm 显示错误

我无法弄清楚如何控制模型表单的字段验证。

这是我的表格模型:

class UserForm(ModelForm):
    class Meta:
        model = User
        fields = ('email', 'password')
Run Code Online (Sandbox Code Playgroud)

以下是我在模板中呈现表单的方式:

<form method="post" action="">
    {% csrf_token %}
    {{ userform.as_p }}
    <input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

def login_page(request):
    if request.method == 'POST':
        userform = UserForm(request.POST)
        if userform.is_valid():
            email = request.POST['email']
            password = request.POST['password']
            user = authenticate(username=email, password=password)
            if user is not None:
                login(request, user)
                return redirect('/dashboard/')
            else:
                # How can I give the user feedback about authentication failute here. Right now it just reloads the form without …
Run Code Online (Sandbox Code Playgroud)

django validation modelform

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

将python django项目1.3升级到1.5

目前我有使用django 1.3版在山狮OS上运行的python项目,现在我想将它升级到django 1.5.但是,当我把它,并尝试做python manage.py runserver我得到一个错误说

错误:在包含'manage.py'的目录中找不到文件'settings.py'.看来你已经定制了东西.您必须运行django-admin.py,并将其传递给您的设置模块.(如果文件settings.py确实存在,则会以某种方式导致ImportError.)

我意识到项目结构不同,有什么方法可以将1.3项目转换或升级到1.5项目?

python django manage.py

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

DRF:序列化器中的静态/只读/非模型字段?

是否可以在模型序列化器中包含静态字段?例如,我有一个模型:

class Location(models.Model):
    long = models.FloatField(...)
    lat = models.FloatField(...)
Run Code Online (Sandbox Code Playgroud)

和一个序列化器:

class LocationSerialiser(serializers.ModelSerializer):
    class Meta:
        model = Location
        fields = ("id", "long", "lat")
Run Code Online (Sandbox Code Playgroud)

通过一个简单的操作,ListAPIView我可以看到我的所有位置:

{
    'id': 1,
    'long': ...,
    'lat': ...,
}, 
...
Run Code Online (Sandbox Code Playgroud)

但是假设我想将静态的非模型字段添加到 json 响应中的所有对象中?就像是:

{
    'id': 1,
    'long': ...,
    'lat': ...,
    'display': True,
    'icon': 'image/marker.png'
}, 
...
Run Code Online (Sandbox Code Playgroud)

如何将它们添加到序列化器中?我已经浏览了该fields模块(2.2.4),但我没有看到任何明确的方法来实现这一点。一切都需要一个source属性。

理想情况下我想做

class LocationSerialiser(serializers.ModelSerializer):
    display = fields.BooleanField(value=True)
    icon = fields.CharField(value="image/marker.png")

    class Meta:
        model = Location
        fields = ("id", "long", "lat")
Run Code Online (Sandbox Code Playgroud)

编辑

@property我发现的一种方法是简单地在模型实例上放置额外的包装方法:

class Location(models.Model):
    long …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

Django中的FullCalendar

所以,我有预约模特

class Appointment(models.Model):
    user = models.ForeignKey(User)
    date = models.DateField()
    time = models.TimeField()
    doctorName = models.CharField(max_length=50)`
Run Code Online (Sandbox Code Playgroud)

我想在该FullCalendar工具中实现这一点.我不知道怎么开始.任何帮助表示赞赏.谢谢.

python django fullcalendar

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

跨登录持久化会话变量

我想在会话变量中保存有关用户首选项的信息.如果用户在注销时选择首选项然后再登录,我希望保留首选项而无需重新选择它.

Django会话在cookie中维护会话密钥以跟踪用户会话.我理解它的方式,当用户登录时,该密钥会被更改.

a)这是否意味着所有会话变量在登录时被删除或是否存在任何类型的逾越节

b)如果无法在登录中保存首选项,那么手动设置cookie是最佳方式吗?我想象一个场景:

  • 注销时,保持cookie中的首选项
  • 登录时,将首选项复制到会话变量并写入db(通过信号?)
  • 注销时,用首选项更新cookie(通过信号?)

更新

我设法通过在用户的配置文件对象中以及在cookie中保存首选项来获得此功能(这些首选项在任何方面都不敏感).当用户登录时,他们的配置文件设置优先.未登录时,将选择cookie首选项

django

4
推荐指数
2
解决办法
2782
查看次数

在汇编中使用Interupts

我被要求用中断重写我的代码(完整说明).我们还没有真正涵盖课堂上的中断,我不确定如何使用它们或如何实现它们.这是我的代码,我写的不使用中断,基本上使键盘成为钢琴或可以播放一首为摩托罗拉68hc11写的歌曲(羊,chromsc,大厅):

PORTA      EQU  $1000  ;The speaker port
SPEAKER    EQU  PORTA
SPEAKERBIT   EQU  %00100000

SCSR    EQU  $6400    ; Serial communications status register
SCDR    EQU  $6401    ; Serial communcations data register
TDRE    EQU  %00000010    ; mask for TDRE flag in SCSR
RDRF    EQU  %00000001    ; mask for RDRF flag in SCSR


ORG     $8000;  Place data at 8000
LAMB    FCB  'trerttttrrrrtuuutrerttttrrtre',$00
CHROMSC FCB  'q2we4r5ty7u8i9op-[=]',$00
HALL    FCB  'qwertet5w5r2rqwertetiutetu',$00

KEYMAP  FDB  'q', 220, 758  ;  A    ;key, frequency, and 1/4 second …
Run Code Online (Sandbox Code Playgroud)

assembly

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

DRF:操作序列化器字段布局

我有一个代表房子的模型:

class House(models.Model):
    name = models.CharField(...)
    long = models.FloatField(...)
    lat = models.FloatField(...)
Run Code Online (Sandbox Code Playgroud)

和一个序列化器,以最基本的表示形式返回房屋列表:

class HouseSerializer(serializers.ModelSerializer):
    class Meta:
        model = House
        fields = ('id', 'name')    
Run Code Online (Sandbox Code Playgroud)

和观点

class HouseList(generics.ListAPIView):
    queryset = House.objects.all()
    serializer_class = HouseSerializer
Run Code Online (Sandbox Code Playgroud)

这很好用.我可以访问/api/house/,我看到一个json的房屋列表:

{ 
    'id': 1,
    'name': 'Big House'
},
{
    'id': 1
    'name': 'Small House',
}...
Run Code Online (Sandbox Code Playgroud)

现在我想创建第二个视图/资源/api/maps/markers/,返回我的房子作为格式的Google-Map-Friendly标记列表:

{ 
    'id': 1,
    'long': ...,
    'lat': ...,
    'houseInfo': {
        'title': "Big House",
    }
} ...
Run Code Online (Sandbox Code Playgroud)

我可以预见两种方法:

  • 执行此操作作为单独的序列化程序(使用与以前相同的视图)并映射出替代字段布局.
  • 将此作为单独的视图(使用与以前相同的序列化程序)执行,并在创建之前简单地布局字段 Response

但是我没有采用任何方法,我明白如何处理它,哪种方法更可取?

django django-rest-framework

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