小编Gar*_*ary的帖子

Python中的语句和函数有什么区别?

编辑:建议的副本,不回答我的问题,因为我主要关注Python的差异.建议的副本比这个问题要广泛得多.

我最近开始学习Python.我目前正在阅读"以艰难的方式学习Python".我有一些特殊的编程经验,但是我回到开始时就从头开始学习所有内容.

在本书中,首先是课程中的一个print,作者在Python 2.7中提供了各种使用说明,例如:

print "This is fun."
Run Code Online (Sandbox Code Playgroud)

我发现自己想知道print从编程角度来看这里的技术是什么.一些研究发现了这一点,PEP-3105

在这种情况下,使print功能:

print语句早已出现在Python 3000中要删除的可疑语言功能列表中,例如Guido的"Python Regrets"演示文稿1.因此,这个PEP的目标并不新鲜,尽管它可能在Python开发人员中引起很大争议.

print是Python 2.7中的一个语句,以及Python 3中的一个函数.

但我一直无法找到a statement和a 之间差异的直接定义function.我发明了这个也是由发明Python的人Guido van Rossum解释了为什么将打印作为函数而不是声明是好的.

根据我的阅读,似乎函数是一些代码,它接受参数并返回一个值.但是print在python 2.7中没有这样做吗?是不是接受字符串并返回串联字符串?

Python中的语句和函数有什么区别?

python function statements python-2.7 python-3.x

10
推荐指数
1
解决办法
5258
查看次数

如何解决无法导入名称页面(django/wagtail)

最近,我一直在尝试使用我现有的Django应用程序.我遇到了一个错误: -

ImportError: No module named wagtail
unable to load app 0 (mountpoint='') (callable not found or import error)
Run Code Online (Sandbox Code Playgroud)

经过多次故障排除后,我设法通过复制文件夹wagtail来解决这个问题:

/usr/local/lib/python2.7/dist-packages/
Run Code Online (Sandbox Code Playgroud)

进入这里

/opt/django/src/
Run Code Online (Sandbox Code Playgroud)

解决了这个错误之后,我收到了另一个关于另一个模块的信息,另一个...我每次将文件夹复制 /usr/local/lib/python2.7/dist-packages/到其中/opt/django/src/并最终解决了我遇到的问题并且uWSGI启动了.

现在当我访问我的应用程序的主页时,我收到此错误

ImportError at /

cannot import name pages

    Request Method:     GET
Request URL:    http://example.com
Django Version:     1.9
Exception Type:     ImportError
Exception Value:    

cannot import name pages

Exception Location:     ./wagtail/wagtailadmin/urls/__init__.py in <module>, line 4
Python Executable:  /usr/local/bin/uwsgi
Python Version:     2.7.3
Python Path:    

['.',
 '',
 '/opt/django/src',
 '/root/.python',
 '/opt/django/env/lib/python2.7',
 '/opt/django/env/lib/python2.7/plat-linux2',
 '/opt/django/env/lib/python2.7/lib-tk',
 '/opt/django/env/lib/python2.7/lib-old',
 '/opt/django/env/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2', …
Run Code Online (Sandbox Code Playgroud)

python django wagtail

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

将WSGI与Django和Apache一起使用时,如何解决“从守护进程读取响应头时超时”错误

我已经安装了Django并使用以下命令创建了一个新项目:

mkdir trydjango
cd trydjango
virtualenv -p python3 .
source bin/activate
pip install django==2.0.7
Run Code Online (Sandbox Code Playgroud)

运行时pip freeze,我看到以下内容:

Django==2.0.7
pkg-resources==0.0.0
pytz==2018.9
Run Code Online (Sandbox Code Playgroud)

在我的虚拟主机中,我有以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName django.mydomain.com
    ServerAlias www.django.mydomain.com
    DocumentRoot /var/www/django.mydomain.com
    ErrorLog ${APACHE_LOG_DIR}/django.mydomain.com.error.log
    CustomLog ${APACHE_LOG_DIR}/django.mydomain.com.access.log combined


    <Directory root/Dev/trydjango/src/trydjango>
           <Files wsgi.py>
                 Require all granted
           </Files>
        </Directory>

    WSGIApplicationGroup %{GLOBAL}
    WSGIDaemonProcess trydjango python-home=root/Dev/trydjango/bin python-path=root/Dev/trydjango/
    WSGIProcessGroup trydjango
    WSGIScriptAlias / /root/Dev/trydjango/src/trydjango/wsgi.py

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

但是,当我尝试访问我的域时,它超时了。当我访问该域的Apache错误日志时,出现以下错误消息:

[pid 12746] [客户端xx.xx.xx.xxx:60684]从守护进程“ trydjango”读取响应头时超时:/root/Dev/trydjango/src/trydjango/wsgi.py

如何解决此超时问题?

我将wsgi.py更改为www-data:www-data,并且将应用程序设置为可执行文件夹

不知道还有什么可以尝试使用此全新项目来使wsgi正常工作。

我发现了这一点:Django Webfaction'从守护进程读取响应头时超时'

并添加WSGIApplicationGroup %{GLOBAL}到virtualhost以及apache2.conf中,但这不能解决问题。

python apache django wsgi

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

为什么在Ubuntu上载Wordpress插件或主题时重置连接

系统操作系统:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS
Run Code Online (Sandbox Code Playgroud)

我已经安装了LEMP堆栈:

nginx/1.10.0 (Ubuntu)
MySQL 5.7.18-0ubuntu0.16.04.1
PHP 7.0.15-0ubuntu0.16.04.4
Run Code Online (Sandbox Code Playgroud)

当我尝试上传主题或插件时,系统正在挂起并在浏览器中显示“连接重置”错误消息。

我已经设法从Wordpress存储库中安装了一些插件,但是无法安装要通过浏览器从远程计算机通过zip上传的15MB插件。

我通过编辑将内存限制增加到512mb,/etc/php/7.0/fpm/php.ini并且php.ini脚本现在报告这已生效:

memory_limit    512M    512M
Run Code Online (Sandbox Code Playgroud)

我还增加了最大内存限制 wp-config.php

通过将其作为文件的第一行插入:

define('WP_MEMORY_LIMIT', '512M');
Run Code Online (Sandbox Code Playgroud)

我还在php配置文件中创建了以下设置/etc/php/7.0/fpm/php.ini

max_execution_time = 240
max_input_time = 240
upload_max_filesize = 100M
Run Code Online (Sandbox Code Playgroud)

但是,插件或主题仍未上传。

我曾经尝试过Firefox和Chrome。

在Chrome浏览器中,上传zip时会获得%的完成度。上传达到44%,然后崩溃,并且在浏览器中收到“连接重置”错误。

我将插件目录和wp-content目录的所有权更改为 www-data:www-data

我不知道还能尝试什么,有什么想法吗?

php wordpress ubuntu nginx

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

当我运行manage.py时如何修复这些错误

我正在将 Python Django 项目从一台服务器移动到另一台服务器。我使用的是 Debian 7,它在目标服务器上标准安装了 python 2.7.3(原始服务器也使用 Debian 7)。

我尝试移动的项目在其父文件夹中具有以下目录:-

-env
-src
Run Code Online (Sandbox Code Playgroud)

它还有一个文件

install.pip 
Run Code Online (Sandbox Code Playgroud)

现在我已经配置了 uwsgi,这些应用程序正在新的网络服务器上运行,但我想使用项目源文件夹中的manage.py。当我运行以下命令时:

 python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)

为了尝试解决这个问题,我安装了 virtualenv 和 pip 并构建了一个新的虚拟环境。然后我运行了以下命令:

pip install -r /sourcefolder/install.pip
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到一个错误

Failed building wheel for Pillow
Run Code Online (Sandbox Code Playgroud)

我在线研究了这一点,并确定一个可能的解决方案是安装 libjpg,我使用以下命令完成

apt-get install libjpeg8-dev
Run Code Online (Sandbox Code Playgroud)

然后我再次运行pip install -r /sourcefolder/install.pip,这次它完成了,没有任何错误。

我尝试再次运行该命令:-

 python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)

我仍然收到错误,但现在它已经改变了。

  1. 如果我在虚拟环境之外运行该命令,我会收到以下错误:

    文件“manage.py”,第8行,来自django.core.management导入execute_from_command_line导入错误:没有名为django.core.management的模块

  2. 如果我从虚拟环境内部运行命令(我已使用 install.pip 要求在其中运行了 pip),我会收到此错误

为了便于阅读等,我已将长路径更改为 /sourcepath:-

Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python django pip virtualenv django-autocomplete-light

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

将 WooCommerce 订单项自定义字段总和保存为新元数据

当在此 WooCommerce 商店中订购特定产品时,两个元值将添加到订单中。

存储元值的两个字段位于wp_woocommerce_order_itemmeta

元键是:

quantity
assemblycost
Run Code Online (Sandbox Code Playgroud)

我想在下新订单时以编程方式创建一个新的自定义字段,并将该新字段的值设置为等于quanity * assemblycost已订购产品的元键组装成本。

经过一些研究,我发现这woocommerce_checkout_update_order_meta是一个在订单保存到数据库并且元数据已更新后执行的钩子。所以这似乎是我应该使用的钩子。

参考: 为 Woocommerce 中的订单添加额外元

 function add_item_meta( $order_id ) {
            //global $woocommerce;
            update_post_meta( $order_id, '_has_event', 'yes' );
        } 
Run Code Online (Sandbox Code Playgroud)

我尝试在functions.php中添加以下代码:

 add_action('woocommerce_checkout_update_order_meta',function( $order_id, $posted ) {  
    $assemblycost = wc_get_order_item_meta($order_id, 'assemblycost');
    $quantity = wc_get_order_item_meta($order_id, 'quantity');
    $calculatedValue = $quantity * $assemblycost;
    wc_update_order_item_meta( $order_id, 'calculated_field', $calculatedValue );  
} , 10, 2);
Run Code Online (Sandbox Code Playgroud)

这确实创建了新的元字段,但它将该值设置为 0。

在此输入图像描述

如何更改上面的代码,以便计算字段的值是 的乘积quantity * assemblycost

php wordpress orders woocommerce hook-woocommerce

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

react-native-webview 为什么 goBack() 方法不起作用?

我在 Expo 中有一个简单的 React Native 项目,它使用react-native-webview启动一个网站。

这是源代码:

import React from "react";
import { StyleSheet, View, SafeAreaView } from "react-native";
import { AntDesign } from "@expo/vector-icons";

import { WebView } from "react-native-webview";


export default function App() {
  const goback = () => {
    WebView.goBack();
  };

  return (
    <SafeAreaView>
      <WebView source={{ uri: "https://google.co.uk" }} />
      <View style={styles.navbar}>
        <View style={styles.forward}>
          <AntDesign name="right" size={25} color="grey" />
        </View>
        <View style={styles.back}>
          <AntDesign name="left" size={25} color="grey" onPress={goback} />
        </View>
      </View>
    </SafeAreaView>
  );
}

const styles …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-ios expo react-native-webview

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