小编Hen*_*son的帖子

if语句返回true

有人可以告诉我为什么,当选择一个psd文件时,php代码中的if语句传递为true和echos"image/vnd.adobe.photoshop"?

<?php

if (isset($_POST['submit'])) {
    foreach ($_FILES["myimages"]["error"] as $key => $error) {
        $tmp_name = $_FILES["myimages"]["tmp_name"][$key];
        $name = $_FILES["myimages"]["name"][$key];
        $imagetype = $_FILES['myimages']['type'][$key];

        if ($imagetype == "image/jpeg" || "image/gif") {
            echo $imagetype;
        }
    }
}

?>

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

<form method="post" enctype="multipart/form-data" action="<? echo basename(__file__); ?>">
    <input type="file" name="myimages[]" multiple>
    <input name="submit" type="submit" value="submit">
</form>

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

php

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

Python处理多个异常

我想以某种方式处理特定的异常,并且通常记录所有其他异常.这就是我所拥有的:

class MyCustomException(Exception): pass


try:
    something()
except MyCustomException:
    something_custom()
except Exception as e:
    #all others
    logging.error("{}".format(e))
Run Code Online (Sandbox Code Playgroud)

问题是甚至MyCustomException会被记录,因为它继承自Exception.我该怎么做才能避免这种情况?

python exception-handling

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

Django的数据库表名

我已经有一个名为"mydb"的数据库,我有一个名为"AERODROME"的表.

我的models.py看起来像这样:

from django.db import models

class Aerodrome(models.Model):
    Name = models.CharField(max_length=48)
    Latitude = models.DecimalField(decimal_places=4, max_digits=7)
    Longitude = models.DecimalField(decimal_places=4, max_digits=7)
Run Code Online (Sandbox Code Playgroud)

我在views.py上有这个方法:

from django.shortcuts import render
from helloworld.models import Aerodrome

def aerodromes(request):
    return render(request, 'aerodromes.html', {'aerodromes': Aerodrome.objects.all()})
Run Code Online (Sandbox Code Playgroud)

在我的模板文件夹中,我有aerodromes.html,这也很简单:

<!doctype html>
<html>
    <head>
    </head>
    <body>
        <table>
        {% for aerodrome in aerodromes %}
            <tr>
                <td>{{ aerodrome.Name }}</td>
                <td>{{ aerodrome.Longitude }}</td>
                <td>{{ aerodrome.Latitude }}</td>
            </tr>
            {% endfor %}
        </table>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我通过我的浏览器测试时,我收到一个错误,因为它看起来像是用错误的名称访问该表.我的应用程序被称为"helloworld",因为它是一个测试,而不是访问mydb.AERODROMES,它访问mydb.helloworld_aerodrome(还要注意区分大小写的问题).

由于我已经填充了数据库,我没有运行syncdb(我知道这不是必要的,但也许这就是问题).

所以,问题是我不知道为什么它会在表名中添加"helloworld_",而且我仍然不确定我在哪里修正表名(并且从那里开始出现区分大小写)有"机场"而不是"AERODROMES"的问题.

这里有什么帮助?

python mysql django

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

没有提交文件.检查表单上的编码类型

下面显示了我的示例项目.但提交时会出错.我已经在表单字段中添加了enctype.但没办法.请帮忙 :)

HTML

<form class="forms2" action="." method="post" enctype="multipart/form-data">{%csrf_token%}
            <fieldset>
              <ol>

                   {% for field in forms %}
                   <li class="form-row">

                  <b>{{ field.label_tag }}</b> {{ field }} </li>
                  <i>{{ field.errors }}</i>


                  {%endfor%}



                  <li class="button-row">
                  <input type="submit" value="Submit" name="submit" class="btn-submit" />
                </li>
              </ol>

              </fieldset>

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

forms.py

class CarrerApplication(forms.Form):
    applicant_name = forms.CharField(widget=forms.TextInput(attrs={'class':'text-input required'}),label='Name')
    applicant_address = forms.CharField(widget=forms.TextInput(attrs={'class':'text-input required'}),label='Address')
    applicant_email = forms.EmailField(widget=forms.TextInput(attrs={'class':'text-input required email'}),label='Email')
    applicant_mobile = forms.CharField(widget=forms.TextInput(attrs={'class':'text-input'}),label='Mobile')
    applicant_resume = forms.FileField(widget=forms.FileInput(attrs={'name':'applicant_resume'}),label='Resume')
    applicant_message = forms.CharField(widget=forms.Textarea(attrs={'class':'text-area'}),label='Message')



    def clean_applicant_resume(self):
        applicant_resume = self.cleaned_data['applicant_resume']
        exts = ['doc', 'docx', 'pdf', 'jpg', 'png', 'xls', 'xlsx', …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-views

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

Python:IndexError:元组索引超出范围

在python我有这个代码

if record[0][1]:
Run Code Online (Sandbox Code Playgroud)

问题是..当mysql没有返回任何东西,因此..

record[0][1]
Run Code Online (Sandbox Code Playgroud)

没有数据..

这个python代码失败:

if record[0][1]:
IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)

我只是想让它转到"else"语句,或者只是将这个if语句视为......无效

record[0][1]
Run Code Online (Sandbox Code Playgroud)

没有价值.或数据..(从mysql传入的东西)

python python-2.6

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

React Router v4 Modal

我知道如何在以前版本的React Router中做到这一点,但我绝对不知道如何在新的React Router v4中做到这一点.有人能帮助我吗?

我想要什么?

  1. 在浏览器网址中键入/ image/1时,页面将正常显示.
  2. 当你<Link>Image as modal</Link>用状态点击时modal: true,带有图像的模态会出现但是后面的模态必须是浏览器中的前一个内容+网址=== /图像/ 1 ...然后如果按F5,页面将正常显示.

示例:instagram ...等

我觉得我做错了什么?

  1. 我不知道如何显示以前的内容.这就是我猜的全部.

码:

const Images = (props) => {
  return (
    <div>
      <h2>Images</h2>
      <ul>
        <li><Link to={{
          pathname: '/image/1',
          state: {
            modal: true
          }
        }}>Image as modal</Link></li>
        <li><Link to="/image/2">Image</Link></li>
      </ul>
    </div>
  )
}

const Image = (props) => {
  return (
    <div>
      <h2>Image {props.match.params.id}</h2>
      <ul>
        <li><Link to="/images">Back to Images</Link></li>
      </ul>
    </div>
  )
}

ReactDOM.render(
  <Provider store={store}>
    <Router>
      <div>
        <Route path='/images' component={Images} …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

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

React应用程序组件DidMount没有从父母那里获得道具

我正在尝试将道具从父组件传递到子组件,即使它被调用了两次(不知道为什么,componentDidMount应该只被调用一次),道具似乎还是空的。

父组件:

class Members extends Component{
    constructor(props){
        super(props);
        this.state = {
            interests: []
        }
    }

    componentDidMount(){
        fetch(interestUrl, {
            method: 'GET',
            headers: {
              "Content-Type": "application/json",
              "Authorization": this.props.authToken
            }
        })
        .then((response) => response.json())
        .then((json) => {this.setState({interests: json})})
        .catch(error => {console.log("Error: " + error)})
    };

    render(){
        return(
            <div className="Members-body">
                <div className="Menu-sidebar">
                    <Menu interestList = {this.state.interests}/>
                </div>
                <div className="Main-container">
                    <Main/>
                </div>
            </div>
        )
    }

}
export default Members;
Run Code Online (Sandbox Code Playgroud)

子组件:

class Menu extends Component {
    constructor(props){
        super(props);
    }

    componentDidMount(){
        console.log("interestList: "  + this.props.interestList); …
Run Code Online (Sandbox Code Playgroud)

reactjs react-lifecycle react-props

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

Python 等价于 Java Timer java.util.Timer

Java SE 有一个可扩展的Timer对象,它使用一个单线程,允许大量并发调度任务(数千个应该没有问题)。它内部使用一个二叉堆来表示它的任务队列。

是否有 Python 等价物?标准或在非常流行的库中是可取的。

python java timer scheduler

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

通过Google跟踪代码管理器向Universal Analytics提供网站搜索信息

我们最近开始使用Google跟踪代码管理器来满足我们的所有跟踪需求.

在此之前,我们已将Google Analytics(现已升级为Universal Analytics)激活了网站搜索.我们_ga.push将搜索参数的语句发送到Google Analytics,我们使用的术语是搜索字符串以及在以下事件中发现的产品数量:

_gaq.push(['_trackPageview', '/search?q=[SEARCH STRING]&cat=[NUMBER OF RESULTS]']);
Run Code Online (Sandbox Code Playgroud)

Google Analytics收到这些参数并在网站搜索中使用它们.

现在我们已经设置了GTM,我觉得我们真的应该可以跳过这一步,许多事件和其他Google Analytics内容已经很好地集成在GTM中.

在我们的dataLayer到GTM中,我们有searchString以及可用于Google Analytics网站搜索的结果数量和更多信息.

问题是如何将信息发送到Google Analytics(分析)以及如何设置GA以最佳方式接收信息?

seo search google-analytics google-tag-manager universal-analytics

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

up:“正在应用配置版本”,它指的是什么?

当我跑步

sudo puppet agent -t
Run Code Online (Sandbox Code Playgroud)

经过长时间的目录加载,我收到一条消息:

信息:正在应用配置版本“ 1403590182”

该号码1403590182指的是什么?

实际上,我已经注意到,如果我连续运行两次,sudo puppet agent -t即使模块没有更改,我也会获得不同的配置版本号!

如何确定将每个模块的哪个版本应用于节点?

puppet

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