小编Sha*_*eOH的帖子

传递到 Flask 的可能路线列表?

我正在学习 Flask,有一个关于动态路由的问题:是否可以传入接受的路由列表?我注意到该any转换器具有潜力,但很难找到它的使用示例。基本上我有不同的端点组,它们应该在它们之间触发相同的操作。这就是我的意思:

cities = [New York, London, Tokyo]
food = [eggs, bacon, cheese]
actions = [run, walk, jump]
Run Code Online (Sandbox Code Playgroud)

我可以做类似的事情

@app.route('/<string:var>', methods = ['GET'])
def doSomething(var):
    if var in cities:
         travel(var)
    else if var in food:
         eat(var)
    else if var in action:
         perform(var)
Run Code Online (Sandbox Code Playgroud)

但我有什么办法可以做这样的事情吗?

@app.route('/<any(cities):var>', methods = ['GET'])
    def travel(var):

@app.route('/<any(food):var>', methods = ['GET'])
    def eat(var)

@app.route('/<any(actions):var>', methods = ['GET'])
    def perform(var)
Run Code Online (Sandbox Code Playgroud)

此外,我希望这些列表是动态的。所以我真正想要的是这样的:

cities = myDb.("SELECT cities FROM country")
@app.route('/<any(cities):var>', methods = ['GET'])
    def travel(var):
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现这一目标,还是我被困在一条动态路线中阻塞所有内容?

python api routes flask

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

在浏览器中呈现非常大的HTML文件?

我正在尝试通过一个有趣的项目 - 一个Facebook消息分析器来学习Python.我已经从Facebook上下载了我的数据,其中包括一组html文件.其中一个 - messages.htm - 包含我的所有消息.我的目标是获取这个html文件并将其解析出来输出有趣的数据,如最常见的单词,消息的数量等.

问题是我的messages.htm文件是270MB.我可以在vim中检查它,但文件中有一些有趣的模式,我想比较html代码与它在浏览器上实际呈现的方式,这样我就可以将代码与视觉效果进行比较,更好地了解什么是继续 但是当我尝试在Firefox中打开这个文件时,FF会崩溃.我可以在Chrome中打开它,但它只是开始加载所有消息,并且大约10分钟内它甚至没有完全加载单个消息线程,无论滚动条有多小.所以这是不可行的.

甚至可以完全呈现​​如此大而长的HTML文件吗?

html browser

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

从兄弟目录导入Python类

我花了过去一小时的时间来浏览Google和SO.很抱歉添加另一个,但没有一个答案对我有用.

我的目录结构/VM/repo/project是:

__init__.py

scripts/
      getSomething.py
      __init__.py

classes/
      project.py
      db.py
      __init__.py
Run Code Online (Sandbox Code Playgroud)

====================

getSomething.py

from ..classes import project
from ..classes import db
Run Code Online (Sandbox Code Playgroud)

====================

project.py

class PROJECT:
def __init__(self):
    stuff
Run Code Online (Sandbox Code Playgroud)

====================

db.py

class DB:
def __init__(self):
    stuff
Run Code Online (Sandbox Code Playgroud)

====================

当我试图跑

python getSomething.py

我收到了错误

Traceback(最近一次调用最后一次):

在<module>中的文件"scripts/getSomething.py",第4行

来自..classes导入项目

ValueError:在非包中尝试相对导入

我在这里错过了什么?

python import module package relative-import

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

PostgreSQL - 无法创建表 - 数据类型点没有用于访问方法“btree”的默认运算符类

所以我正在做一个项目来学习 SQL、Python 和一些服务器端的东西,经过多次搜索,我在这一点上很难过。我想创建两个相同的表,我有以下代码:

import psycopg2 as db
import json

with open('config.json', 'r') as f:
config = json.load(f)

conn = db.connect(user=config['dbuser'], database=config['dbname'], host=config['dbhost'], password=config['dbpass']);
cur = conn.cursor()

cur.execute("""CREATE TABLE IF NOT EXISTS A 
    (
            city            TEXT,
            location        POINT NOT NULL,
            eta             INTEGER,
            time            TIMESTAMP WITH TIME ZONE NOT NULL,
            holiday         BOOLEAN,
            PRIMARY KEY (location, time)
    );""")
Run Code Online (Sandbox Code Playgroud)

还有表B,格式相同,其中A和B是不同的服务。运行此程序时,我得到:

Traceback (most recent call last):
  File "dbsetup.py", line 18, in <module>
);""")
psycopg2.ProgrammingError: data type point has no default operator class for access method …
Run Code Online (Sandbox Code Playgroud)

python sql postgresql psycopg2

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

标签 统计

python ×3

api ×1

browser ×1

flask ×1

html ×1

import ×1

module ×1

package ×1

postgresql ×1

psycopg2 ×1

relative-import ×1

routes ×1

sql ×1