这可能是一个相当愚蠢的问题,但我在这里做错了什么?它创建表但INSERT INTO不起作用,我想我的占位符有问题吗?
conn = psycopg2.connect("dbname=postgres user=postgres")
cur = conn.cursor()
escaped_name = "TOUR_2"
cur.execute('CREATE TABLE %s(id serial PRIMARY KEY, day date, elapsed_time varchar, net_time varchar, length float, average_speed float, geometry GEOMETRY);' % escaped_name)
cur.execute('INSERT INTO %s (day,elapsed_time, net_time, length, average_speed, geometry) VALUES (%s, %s, %s, %s, %s, %s)', (escaped_name, day ,time_length, time_length_net, length_km, avg_speed, myLine_ppy))
conn.commit()
cur.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)
INSERT INTO调用不起作用,它给了我
cur.execute('INSERT INTO %s (day,elapsed_time, net_time, length, average_speed,
geometry) VALUES (%s, %s, %s, %s, %s, %s)'% (escaped_name, day ,time_length,
time_length_net, length_km, avg_speed, …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在反应路由器内ReactDOM.render
创建的方法。Link
设置或多或少看起来像这样:
const router = (
<div>
<Router>
<Route path="/map" component={Map}/>
</Router>
</div>
);
Run Code Online (Sandbox Code Playgroud)
的相关部分Map.jsx
如下所示:
const MapPopup = () => {
return (
<Link to={`/map/add`} />
)
}
class Map extends React.Component {
componentDidMount() {
this.map = L.map('map')
//...stuff...
this.map.on('contextmenu', event => {
popup
.setLatLng(event.latlng)
.addTo(this.map)
.setContent(
ReactDOM.render(
MapPopup(),
document.querySelector('.leaflet-popup-content')
)[0]
)
.openOn(this.map)
})
}
render() {
return (
<React.Fragment>
<div id="map" />
</React.Fragment>
)
}
}
Run Code Online (Sandbox Code Playgroud)
我基本上是想Link
在传单提供的地图弹出窗口中添加一个(我不能在这个项目中使用react-leaflet)。但是,如果我直接在渲染函数中返回 MapPopup,它就会起作用(显然不在弹出窗口中,但链接确实可以这样工作)。
<React.Fragment>
<div id="map" /> …
Run Code Online (Sandbox Code Playgroud) leaflet reactjs react-router react-router-v4 react-router-dom
leaflet ×1
postgis ×1
postgresql ×1
psycopg ×1
psycopg2 ×1
python ×1
react-router ×1
reactjs ×1