【发布时间】:2020-09-10 06:55:45
【问题描述】:
我对 Python 编码非常陌生。我开始使用 Web.py 构建一个简单的站点。虽然我能够正确创建所有简单的路由,如 Home、Profile 等,但我在使用正则表达式字符设置路由时遇到了问题。所以,我有一个点击链接到设置页面的路线:
'/settings/(.*)', 'Settings'
在* 中,我将从会话对象传递用户名值。现在单击,虽然应用程序正确路由到设置页面,但它无法从静态目录加载适当的样式和 JS 文件。请在下面找到我的文件夹结构:
项目文件夹结构:
请找到我已配置的控制器文件:
import web
from Models import Users, Login, Posts
web.config.debug = False
urls = (
'/', 'Home',
'/settings/(.*)', 'Settings'
)
app = web.application(urls, globals())
session = web.session.Session(app, web.session.DiskStore("sessions"), initializer= {"user": None})
session_data = session._initializer
render = web.template.render("Views/Templates", base="CodeWizardContainer",
globals={'session': session_data, 'current_user':
session_data["user"]})
class Home:
def GET(self):
return render.Home()
class Settings:
def GET(self, user):
return render.Settings()
if __name__ == "__main__":
app.run()
我所有的 CSS 和 JS 文件都在 ROOT 目录下的 static 文件夹下。对于其他简单的 URL,样式正在加载文件。但是,对于设置动态 URL,应用程序正在尝试从 /settings/static/cs 或 /settings/static/js 文件夹再次加载样式和 javascript,这显然不是正确的路径。但是我没有在应用程序的任何地方引用 CSS 或 JS 文件的此类路径。只有在设置路由访问期间,我才遇到这样的问题。请在下面找到整个 Python 控制台日志:
127.0.0.1:57740 - - [23/May/2020 17:41:04] "HTTP/1.1 GET /" - 200 OK
127.0.0.1:57741 - - [23/May/2020 17:41:04] "HTTP/1.1 GET /static/js/scripty.js" - 304 Not Modified
127.0.0.1:57740 - - [23/May/2020 17:41:04] "HTTP/1.1 GET /static/css/mystyle.css" - 304 Not Modified
127.0.0.1:57748 - - [23/May/2020 17:41:19] "HTTP/1.1 GET /register" - 200 OK
127.0.0.1:57748 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/user1" - 200 OK
127.0.0.1:57749 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/css/mystyle.css" - 200 OK
127.0.0.1:57751 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/js/jquery-3.4.1.min.js" - 200 OK
127.0.0.1:57753 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/js/popper.min.js" - 200 OK
127.0.0.1:57748 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/css/bootstrap.css" - 200 OK
127.0.0.1:57755 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/js/bootstrap.min.js" - 200 OK
127.0.0.1:57757 - - [23/May/2020 17:41:24] "HTTP/1.1 GET /settings/static/js/scripty.js" - 200 OK
虽然,浏览器中的状态显示为 200 OK,但由于路径 /settings/static/css/ 或 /settings/static/js/ 不正确,样式和 JS 没有被加载。
【问题讨论】:
标签: javascript python html css web.py