小编Man*_*edi的帖子

Google App Engine:TypeError:'tuple'对象不可调用

目前正在尝试使用Python中的Google App Engine创建基本博客.这是我正在使用的python代码:

import os
import re
import webapp2
import jinja2
from string import letters
from google.appengine.ext import db

template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),    autoescape=True)

class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)
    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)
    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))

def post_key(name = "dad"):
    return db.Key.from_path('blog', name)

class Blogger(db.Model):
    name = db.StringProperty()
    content = db.TextProperty()
    created = db.DateTimeProperty(auto_now_add = True)

    def render(self):
        self._render_text = self.content.replace('\n', '<br>')
        return render_str("post.html", …
Run Code Online (Sandbox Code Playgroud)

python django google-app-engine handler

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

'e'是'%e%B%Y'格式的错误指令

我正在尝试将以"DD MM YYYY"格式给出的字符串转换为日期时间对象.如果日期中的日期是单个数字,我希望输出中的日整数由一个数字组成.例如,在转换为日期时间对象而不是"2014年5月1日"后,输入"2014年5月1日"应转换为"2014年5月1日".

为此,我使用%e格式转换输出日期的日期.这是相同的代码:

import datetime
from datetime import timedelta

s = "1 July 2013"
d = datetime.datetime.strptime(s, "%e %B %Y")  

print d.strftime("%e %B %Y")
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

ValueError: 'e' is a bad directive in format '%e %B %Y'
Run Code Online (Sandbox Code Playgroud)

格式有什么问题?我正在使用Python 2.7,如果这有帮助的话.

python datetime python-2.7 python-datetime

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

Django:“模块”对象没有属性“ChoiceField”、“MultipleChoiceField”

我正在尝试在表单中创建单选按钮和复选框,并尝试分别使用模型字段ChoiceFieldMultipleChoiceField来实现相同的功能。

表格.py

from django import forms
from rango.models import Evangelized

class EvangelizedForm(forms.ModelForm):
    gender = forms.ChoiceField(widget=forms.RadioSelect(
                 choices=Evangelized.GENDER_CHOICES), help_text="Gender")
    area_of_interest = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(
                                                    choices=Evangelized.AREA_CHOICES), help_text="Areas of interest(Upto 3)")
Run Code Online (Sandbox Code Playgroud)

模型.py

from django.db import models

class Evangelized(models.Model):
    GENDER_CHOICES = (('M', 'Male'), ('F', 'Female'), ('U', 'Unisex/Parody'))
    gender = models.ChoiceField(choices=GENDER_CHOICES)
    AREA_CHOICES = (('Govt', 'Govt'), ('Entertainment', 'Entertainment'), ('Automobile', 'Automobile'),
                        ('Careers', 'Careers'), ('Books', 'Books'), ('Family', 'Family'), ('Food', 'Food'),
                            ('Gaming', 'Gaming'), ('Beauty', 'Beauty'), ('Sports', 'Sports'), ('Events', 'Events'),
                                ('Business', 'Business'), ('Travel', 'Travel'), ('Health', 'Health'), ('Technology','Technology'))
    area_of_interest = …
Run Code Online (Sandbox Code Playgroud)

python django python-2.7

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

Drupal: PDOException: SQLSTATE[HY000] [2002] 连接在 lock_may_be_available() 中被拒绝

我尝试在本地服务器上安装 Drupal,一切正常。我在本地主机上安装了 Drupal,然后尝试使用 FileZilla 在我的服务器上传输相同的 Drupal 目录。settings.php根据我的服务器 MySql 设置更改了我的文件,如下所示:

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'manas_drupal',
      'username' => 'XXXXXXX',
      'password' => 'XXXXXXX',
      'host' => '127.0.0.1',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试访问本应安装 Drupal 的网站时,遇到以下错误:

PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() (line 167 of /home/manasge/manas.getevangelized.com/drupal/includes/lock.inc).
Run Code Online (Sandbox Code Playgroud)

现在,第 167 行lock.inc包含以下函数:

function lock_may_be_available($name) {
  $lock = db_query('SELECT expire, value FROM {semaphore} WHERE name = :name', …
Run Code Online (Sandbox Code Playgroud)

php mysql drupal drupal-7

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

函数返回'无'

我正在使用Python处理一个问题.以下是我要解释的问题的相关代码:

def no_to_words(n):
    num = str(n)
    s = ""
    if(len(num) == 3):
        hunds = n/100
        ten = n%100
        tens = ten/10
        units = ten%10
        if(n == 100):
            return "one hundred"

        if(hunds == 1):                        
            s = s + "one hundred and"
        elif(hunds == 2):
            s = s + "two hundred and"
        elif(hunds == 3):
            s = s + "three hundred and"
        elif(hunds == 4):
            s = s + "four hundred and"
        elif(hunds == 5):
            s = s + "five hundred and" …
Run Code Online (Sandbox Code Playgroud)

python

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

从同一行获取动态数量的输入

我们如何从同一行获取动态数量的输入?例如,如果N是我的输入数量,如果是N = 3,那么我如何接受3个不同的输入,所有输入都用空格分隔,并将它们存储到3个不同的变量中?

现在,我知道如何从同一行获取输入,前提是我知道N事先的价值.如果我的输入数量为3,则使用以下代码执行此操作,并将它们分别分配给变量a,b和c:

a,b,c = map(int,raw_input().split())
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法弄清楚如何使用此代码将动态数量的输入分配给相同数量的变量.

python

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

使用递归查找数字是否为2的幂

我试图使用递归来查找数字是否为2的幂.但是,我似乎无法找出正确的解决方案.这是我到目前为止所尝试的:

def is_power(n):
    n = n/2
    if n == 2:
        return True
    elif n > 2:
        is_power(n)
    else:
        return False


if is_power(32):
    print 'yes'
else:
    print 'no'
Run Code Online (Sandbox Code Playgroud)

由于'32'是2的幂,我希望我的代码返回'yes'作为输出.但是,代码输出'no'.我的代码似乎有什么问题?

python recursion python-2.7

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

Django:'AnonymousUser'对象没有属性'get_full_name'

我正在尝试在Django中创建一个表单,其中包含一个表单字段,其中包含从User对象中提取的默认值.

forms.py

class EvangelizedForm(forms.ModelForm):
    #full_name = forms.CharField(help_text="Full Name")
    email = forms.CharField(help_text="Email ID")
    mobile_no = forms.CharField(help_text="Mobile number")
    twitter_url = forms.CharField(help_text="Twitter URL")
Run Code Online (Sandbox Code Playgroud)

models.py

class Evangelized(models.Model):
    full_name = models.CharField(max_length=128)
    email = models.EmailField()
    mobile_no = models.CharField(unique=True, max_length = 10, validators=[RegexValidator(regex='^\w{10}$', message='Mobile number should be strictly of 10 digits.')])
    twitter_url = models.CharField(unique=True, max_length=128)
Run Code Online (Sandbox Code Playgroud)

views.py

def fillform(request):
    if request.method == 'POST':
        form = EvangelizedForm(request.POST)
        if form.is_valid():
            form.save(commit=True)
            return index(request)
        else:
            form.errors
    else:
        #form = EvangelizedForm()
        form = EvangelizedForm(initial={'full_name': request.get_full_name()})

    context = RequestContext(request,
                           {'request': request, …
Run Code Online (Sandbox Code Playgroud)

python django python-2.7

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

在包含字符串和整数的列表上使用max()

当我尝试max()在包含整数和字符串组合的列表上调用函数时,它总是返回一个字符串,在Python 2.x中

例如,

#input
li = [2, 232322, 78, 'python', 77]
max(li)

#output
'python'
Run Code Online (Sandbox Code Playgroud)

这背后的逻辑似乎是什么?Python如何将字符串与整数进行比较?

python list max python-2.7

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

Google App Engine:将图像存储在数据库中(Python)

我正在使用Python在Google App Engine上创建一个电子商务平台.为此,我需要将我将提供的产品的详细信息存储在一个单独的实体中,其中还包括每个产品的图像.现在,如何在数据存储区中存储图像?此外,更重要的是,如何从数据库中提取图像并在我的应用程序中为用户显示它?

编辑:

将我的图像上传到"图像"实体后,我试图显示它.这是相同的代码:

main.py

class FileUpload(Handler):
    def post(self):
        file_upload = self.request.POST.get("file", None)
        file_name = file_upload.filename
        image = Images(id=file_name, file_name=file_name, blob=file_upload.file.read())
        image.put()

        self.response.headers[b'Content-Type'] = mimetypes.guess_type(image.file_name)[0]
        self.response.write(image.blob)
        self.final()

    def final(self):
        images = db.GqlQuery("Select * FROM Images WHERE file_name = 'CN.jpg'")
        self.render("template.html", images = images)

class Blob(Handler):
    def get(self):
        self.render("blob.html")


app = webapp2.WSGIApplication([('/', MainPage),
                                ('/signup', Register),
                                ('/login', Login),
                                ('/logout', Logout),
                                ('/mp', MP),
                                (r'/file_upload', FileUpload),
                                ('/blob', Blob)], debug=True)
Run Code Online (Sandbox Code Playgroud)

template.html

<html>
<head>
    <title>Template</title>
</head>
<body>
    {%
        for image in images
    %}
    <div>{{image.blob}}</div>
    {%endfor%} …
Run Code Online (Sandbox Code Playgroud)

python database google-app-engine gql

0
推荐指数
1
解决办法
3286
查看次数

Python:TypeError - 不是在字符串格式化期间转换的所有参数

我正在编写一个基本的Python脚本,其代码如下:def is_prime(n):

def is_prime(n):
    i = 2
    while i<n:
        if(n%i == 0):
            return False
        i+=1
    return True

def truncable(num):
    li = []
    x = str(num)
    if(is_prime(num)):
        n = len(x)
        check = ""
        i = 1
        while(i<n):
            if(is_prime(x[i:])):
                check = "True"
            else:
                check = "False"
                break
        if(check == "True"):
            li.append(num)

print truncable(3797)   
Run Code Online (Sandbox Code Playgroud)

但是,运行此脚本后,我收到以下错误:

TypeError: not all arguments converted during string formatting
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?

python

0
推荐指数
1
解决办法
850
查看次数

项目欧拉37

我目前正在尝试解决Project Euler的问题编号37.这是问题陈述的链接:

http://projecteuler.net/problem=37

这是我的相同代码:

def is_prime(n):
    i = 2
    while i<n:
        if(n%i == 0):
            return False
        i+=1
    return True

def left_truncable(num):
    li = []
    x = str(num)
    if(is_prime(num)):
        n = len(x)
        check = ""
        i = 1
        while(i<n):
            if(is_prime(int(x[i:]))):
                check = "True"
                i+=1
            else:
                check = "False"
                break
        if(check == "True"):
            li.append(num)
    return li

def right_truncable(num1):
    ri = []
    x1 = str(num1)
    if(is_prime(num1)):
        n = len(x1)
        check = ""
        j = 1
        while(j<n):
            if(is_prime(int(x1[:j]))):
                check = "True"
                j+=1
            else:
                check …
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
1134
查看次数