python - 如何在其他目录文件中使用 __init__.py 函数
问题描述
我有这个目录结构:
FlaskBox
FlaskSample
static
style.css
templates
1.html and others
__init__.py
loginModel.py
test
login_test.py
__init__.py中的代码
from flask import Flask, render_template, url_for, redirect, flash, abort, session, request, jsonify
from random import randint
from FlaskSample.loginModel import Login
app = Flask(__name__)
app.config['SECRET_KEY'] = 'you-will-never-guess'
@app.route('/login', methods=['GET', 'POST'])
def login():
try:
form = Login()
if form.validate_on_submit():
if form.userName.data == 'Admin' and form.password.data == 'Admin':
print(form.userName.data)
session.clear()
session['Username'] = form.userName.data
return redirect(url_for('getMember', name=form.userName.data))
else:
print('error')
flash("Please Provide proper username and password")
return render_template('Login.html', title='Sign In', form=form)
except Exception:
abort(404)
raise
我想为登录编写测试用例,在测试目录中我有一个文件 login_test.py 包含以下内容:
import os
import tempfile
import pytest
from FlaskSample import loginModel
@pytest.fixture
def client(request):
client = app.test_client()
return client
def login(client, username, password):
"""Helper function to login"""
return client.post('/login', data={
'username': username,
'password': password
}, follow_redirects=True)
def test_login_logout(client):
rv = login(client, 'user1', 'wrongpassword')
assert b'Invalid password' in rv.data
但是当我使用 pytest 运行它时,我给了我错误,例如: ImportError: No module named 'FlaskSample'
谁能建议我有什么问题?以及如何使用来自两个不同目录的函数
这是我的错误堆栈:
解决方案
推荐阅读
- javascript - 文本替换删除标签
- c# - Unity 中的 GraphQL 查询
- sql - 根据开始日期和月份持续时间拆分金额(在 SQL Server/SSASTabular/PowerBi 中)
- sql-server - 在 Windows 容器中使用集成安全性连接到 SQL Server
- android - React-Native [ANDROID] 深度链接“打开方式”重复项
- c++ - 差距算法代码有什么问题?(代码如下)
- javascript - CryptoJS AES 加密参数在解密时失败
- linux - 程序在 Linux 中找不到已安装的库
- python - 如何使用python识别头部(面部)运动(Open cv)
- javascript - 如何将当前滑块图像附加到 Wordpress 中的联系表单