小编Hat*_*Hat的帖子

mod_wsgi用于正确版本的python3

我在Ubuntu 12.04 LTS上设置一个Django服务器,我在使用正确版本的python安装mod-wsgi时遇到问题.我用python 3.3在本地构建了我的站点,Ubuntu 12.04与python 3.2捆绑在一起.我想我可以,但宁愿不只是使用3.2而不是3.3,所以我在3.2旁边安装了python 3.3.除了mod-wsgi之外,我为python 3.3安装了所有东西.

在运行python3.3的本地机器上安装libapache2-mod-wsgi-py3sudo apt-get install libapache2-mod-wsgi-py3安装python3.3.但是在Ubuntu服务器上,运行相同的代码会为python3.2安装它,以便Web服务器运行3.2并且找不到django.

有没有办法禁用python3.2,或指向脚本为python 3.3安装它?

编辑:经过深入研究,python3.2没有与ubuntu捆绑在一起,而是与libapache2-mod-wsgi-py3一起安装

ubuntu mod-wsgi ubuntu-12.04

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

获取DistributionNotFound错误,但包存在

我正在为Django模板运行pyjade,因为我发现它更容易写入,但我试图将其转换为内置转换器的html.当我跑步时,pyjade -c django input.jade output.html我得到了错误pkg_resources.DistributionNotFound: six.但是,包six确实存在,我可以在python上导入它,当我运行pip install six --upgrade它时它说它已经是最新的了.

这是完整的追溯:

Traceback (most recent call last):
  File "/usr/local/bin/pyjade", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2707, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: six
Run Code Online (Sandbox Code Playgroud)

会导致此错误的原因是什么?

python django pyjade

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

初始响应时间慢

我有一个网站的初始响应时间很慢。该站点使用 Django 构建,并在 Ubuntu 上的 Apache2 服务器上运行。我一直在使用 Django 调试工具栏进行调试和优化。

向用户个人资料页面发出请求时,浏览器会“等待”约 800 毫秒并接收约 60 毫秒的初始请求。然而,Django Debug Toolbar 显示花在 CPU 上的时间和花在 SQL 查询上的时间加起来只有大约 425 毫秒。

Chrome 开发者工具: 在此处输入图片说明

Django 调试工具栏:

在此处输入图片说明

即使是对索引页的请求(它没有 SQL 查询,几乎没有处理——它只是用模板响应)显示大约 250 毫秒的等待时间。

在此处输入图片说明 在此处输入图片说明

我尝试暂时将 VM 升级到功能更强大的 CPU,但这并没有(明显地)改变这个指标。

这让我相信等待不是由于低效的代码或数据库延迟,而是由于某些 Apache 或 Ubuntu 设置。

在初始响应之后,其他加载页面资源(js 文件、图像等)的请求的等待时间更为合理,约为 20 毫秒。

什么可以解释相对较长的初始“等待”时间?我可以使用哪些工具来更好地了解时间的去向?

apache django

6
推荐指数
0
解决办法
1283
查看次数

这是上传文件的好过滤器吗?

我有一个网站,用户可以将文件上传到子目录.我正在过滤上传检查潜在的恶意代码.我是安全方面的新手,所以这看起来像是保护上传到服务器的最佳做法吗?如果没有,或者我错过了什么,你能指出我正确的方向吗?

//arrays with acceptable file extensions/types -- default validations set to false
$acceptable_ext = array('jpg', 'JPG', 'jpeg', 'JPEG', 'gif', 'GIF', 'png', 'PNG');
$acceptable_type = array('image/jpeg', 'image/gif', 'image/png');
$validated_ext = 0;
$validated_type = 0;

//validate file extension and type
if($_FILES && $_FILES['file']['name']) {

    $file_info = pathinfo($_FILES['file']['name']);

    //validate extension
    for ($x=0; $x < count($acceptable_ext); $x++) { 
        if($file_info['extension'] == $acceptable_ext[$x]) {
            $validated_ext = 1;
        }
    }
    //validate type
    for ($x=0; $x < count($acceptable_type); $x++) { 
        if($file_info['type'] == $acceptable_type[$x]) {
            $validated_type = 1;
        } …
Run Code Online (Sandbox Code Playgroud)

php security

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

在MySQL数据库中选择两个随机行

我有一个充满图像的数据库,我想吐出并显示两个随机图像.这段代码做得很好,但我不相信这是最好的方法,特别是如果数据库最终会有很多行.我已经研究过使用MySQL的rand()函数并将其限制为两个结果,但是从我读过的内容来看,rand()在大型数据库上相对较慢.另一个问题是在双数据库查询中.是否有更好的方法可以通过img_id选择两个随机行?

img_id是一个auto_incremented行,但不能假设是连续的.

//get all image ids
$query = $conn->prepare('SELECT img_id FROM images');
$query->execute();
$result = $query->fetchAll();

//create an array in which to put all the ids
$list_imgs = array();

//put the ids into the array to search over
for ($x=0; $x < count($result); $x++) {
    array_push($list_imgs, $result[$x]['img_id']);
}

//output two random images
for ($x=0; $x < 2; $x++) {
    //create random index for search
    $rand = array_rand($list_imgs);

    //query to select one image
    $query = $conn->prepare('SELECT title, file_loc FROM images WHERE …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

将变量从javascript传递给PHP

我正在使用谷歌地图制作一个地图,可以加载存储在数据库中的lat/lng数据的标记.我希望有三个不同的"层",用户可以通过单击按钮加载.单击该按钮时,将在服务器上执行php函数,从数据库中的信息创建xml文件.然后调用AJAX函数来拉取此xml数据,然后使用该数据创建地图标记.而不是为每个'层'分别拥有单独的PHP函数(除了带有SQL查询的行之外它们都是一样的),有没有办法将变量从AJAX中的javascript传递给PHP?

javascript php ajax google-maps

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

在 Django 中检查上传文件的 mime 类型

我有一个允许用户上传图像的网站。要检查用户上传的文件的 MIME 类型,我使用以下使用python-magic 的脚本

import magic
mime = magic.Magic(mime=True)
if mime.from_file(request.FILES['media-pic']) not in ['image/jpeg', 'image/pjpeg', 'image/png', 'image/gif']:
  # don't allow the file to be uploaded
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试上传文件时,出现错误coercing to Unicode: need string or buffer, TemporaryUploadedFile found。我认为这行不通,但我尝试了一下,request.FILES['media-pic'].name却出现了File does not exist错误。

在将文件保存到服务器之前如何检查文件的 MIME 类型?

django file-upload

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

简单的jQuery脚本无法正常工作

我完全不知道为什么这个简单的jQuery脚本无法正常工作.我从字面上复制并粘贴了我的另一个项目(代码在其中工作)的代码,并且只是更改了类标记.

<html>
<head>
    <title>test page</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('.click_item').click(
                function() {
                    $(this).animate({background: '#ffffff'}, 200);
                },
                function() {
                    $(this).animate({background: '#d0d0d0'}, 200);
                }
            );
    }) 
    </script>
    <style type="text/css">
        #one {
            height: 300px;
            width: 1000px;
            background-color: #a0a0a0;
        }
        .click_item {
            width: 100px;
            height: 30px;
            margin: 0px auto;
            margin-bottom: 10px;
            background: #d0d0d0;
            -moz-transition: background linear;
            -webkit-transition: background linear;
        }
    </style>
</head>

<body>

    <div id="one">
        <div id="map_options_box">
            <div id="kml1" class="click_item">item 1</div>
            <div id="kml2" class="click_item">item 2</div>
        </div>
    </div>

</body>
Run Code Online (Sandbox Code Playgroud)

我也尝试使用#kml1和#kml2 ID标签而不是类和'this'标签,以及用悬停和切换替换click功能,仍然无效.我也没有在控制台中收到任何错误.

jquery

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

在模板中声明变量

有没有办法在模板中声明变量?我正在将单选按钮,复选框和文本输入的用户值推送到模板,希望将其先前的选择设置为已选中/填写.在此示例中,他们先前保存的选择作为数字0存储在数据库中2.这会抛出错误'空变量标签'.这是否可以在没有pyjade的标准Django模板中进行?

div
    - var check = 'checked' if profile_info.selection == 0 else 'unchecked'
    input(type="radio", name="lop", value="0", id="lop1", {{ check }})
div
    - var check = 'checked' if profile_info.selection == 1 else 'unchecked'
    input(type="radio", name="lop", value="1", id="lop2", {{ check }})
div
    - var check = 'checked' if profile_info.selection == 2 else 'unchecked'
    input(type="radio", name="lop", value="2", id="lop3", {{ check }})
Run Code Online (Sandbox Code Playgroud)

django pyjade pug

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

Django值从DateTimeField获得年份

我有一个页面,用户可以搜索其他用户.使用AJAX调用搜索,并使用JSON返回结果,代码如下:

return HttpResponse(json.dumps({'users': list(users.values('first_name', 'last_name', 'gender', 'zip_code__city', 'zip_code__state')) }))
Run Code Online (Sandbox Code Playgroud)

我将用户生日存储在模型中birthday = models.DateTimeField().我想用结果回到生日那一年,但我遇到了麻烦.返回整个日期将起作用,我可以随后解析一年.

当我尝试将'birthday'添加到参数中时values,我得到一个错误,它不是JSON可序列化的.我也尝试了'birthday__year',但是这回复了一个错误,就是没有'year'这样的东西.

如何将DateTimeField放入列表中?

python django

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