很多人的HTML标记看起来像这样:
<html>
<body>
<div id="wrapper">
<p>Stuff in here</p>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
大多数情况下,在这里的示例或网络上,人们建议您应该将宽度设置应用于#wrapper
,而不是<body>
.
这有什么潜在的原因吗?
例如,在一篇关于优雅降级媒体查询的技术的文章中,并为您提供技术1的一些上下文:什么都不做:
房间里的大象是桌面的Internet Explorer.借助移动优先解决方案,大屏幕将在一列中显示内容,从而为用户带来痛苦的阅读体验,超过既定的最大舒适度:50到75个字符. 可能值得在主容器中设置max-width属性,然后在媒体查询中增加max-width.
他们的CSS:
#wrapper {
_width: 460px; /* Take that, IE6! */
max-width: 460px;
}
@media only screen and (width) {
#wrapper {
max-width: 1200px;
}
}
Run Code Online (Sandbox Code Playgroud)
以下是IE的结合方式(媒体查询已被注释掉).
是否有任何差异,而不是应用它#wrapper
,我们会应用它<body>
- 考虑到标准网站?
任何潜在的错误?我在这里尝试过,似乎没问题.如果布局变得更先进,那该怎么办...
我的主页上有一个表单,当它提交时,它会将用户带到我网站上的另一个页面.我想将输入的表单数据传递给下一页,例如:
<?php echo $email; ?>
Run Code Online (Sandbox Code Playgroud)
$email
用户在表单中输入的电子邮件地址在哪里.我究竟该如何做到这一点?
我经常向我的网页发送一个巨大的JSON字符串(在Flask中使用jsonify),所以我想减少数据.最简单的选择可能是删除所有换行符和空格字符,但只是给你一个例子:
普通jsonify:361KB
删除所有换行符和空格字符:118KB(哇).
压缩原始文件:35KB(双哇).
所以我基本上想知道是否有一种简单的方法来接近35KB.到目前为止我找不到一个解决方案,我可以在python和javascript(解压缩)中轻松实现.
现在,我每秒发送大约4-5MB的数据,这是 - 你猜对了 - 一点点"太多".
我有一个pdf文件,我想做出响应,以便在桌面和手机中查看它.响应于它不仅应该基于设备大小来适应页面,而且还应该是内容即文本,pdf内的图像在移动设备上观看时也应该是响应的.就像下面显示的图像一样,pdf内容应该根据设备进行对齐.是否有任何API或库来实现此目的.
提前致谢.请帮我实现这个目标.
我有一个问题,在我的base.html中,我有:
<div id="header">{% block header %}{% endblock %}</div>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">{% block footer %}{% endblock %}</div>
Run Code Online (Sandbox Code Playgroud)
对于其他每一页,我总是这样做:
{% extends "base.html" %}
{% block content %}
...
Run Code Online (Sandbox Code Playgroud)
我的问题是我不想在base.html中包含我的标题(或页脚)代码,因为它有很多东西,无论如何我可以拥有像header.html和footer.html这样的单独文件,这是我的"基础". html"将获取内容,并且扩展"base.html"的每个其他页面也将显示header.html和footer.html的内容?
非常感谢!
我正在尝试让 hello world Flask 应用程序与 Python 3.9.7 一起运行。
文件夹结构:
py-flask/
app.py
README.md
app.py的内容:
from flask import flask
app = flask(__name__)
@app.route("/")
def index():
return "Hello Wolford"
@app.route("/greeting/")
def greeting():
return "Nice to see you"
Run Code Online (Sandbox Code Playgroud)
当我位于 py-flask 目录中并尝试运行该应用程序时,我得到:
Error: While importing 'app', an ImportError was raised.
我已经尝试过python3 -m flask run
,但flask run
都不起作用。
对我可能做错了什么有什么想法吗?
点列表(如果有用):
Package Version
------------- -------
cachelib 0.4.1
click 8.0.3
Flask 2.0.2
Flask-Session 0.4.0
itsdangerous 2.0.1
Jinja2 3.0.2
MarkupSafe 2.0.1
pip 21.2.3
setuptools 57.4.0
Werkzeug 2.0.2
Run Code Online (Sandbox Code Playgroud) 我有以下烧瓶路线,它提供静态内容:
@app.route('/static/<path:path>')
@resourceDecorator
def getStaticFile(path):
return send_from_directory('static', path)
Run Code Online (Sandbox Code Playgroud)
@resourceDecorator
声明如下:
def resourceDecorator(f):
def new_func(*args, **kwargs):
resp = make_response(f(*args, **kwargs))
resp.cache_control.no_cache = True # Turn off caching
resp.headers['Access-Control-Allow-Origin'] = '*' # Add header to allow CORS
return resp
return update_wrapper(new_func, f)
Run Code Online (Sandbox Code Playgroud)
装饰器设置标头以停用缓存并允许跨域访问.这适用于我的其他"常规"路由,但通过静态路由发送的文件似乎没有设置其标头.
这里出了什么问题?
我正在开发一个使用 Flask 并使用模板构建的应用程序。我有一个包含头标签和 js/css 链接的layout.html 文件,我使用以下方法将其导入到每个页面上:
{% extends "layout.html" %}
{% block content %}
{# My content #}
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
这是可行的,但我现在需要仅针对特定的 html 文件链接到其他 JS 文件,并想知道使用 Flask 执行此操作的正确方法是什么。
我有一个与Nginx + Gunicorn一起运行的Flask应用程序通常没有问题.该应用程序仍在开发中,因此目前每小时只有一个请求.
问题是,Gunicorn似乎在上次重启后大约12-36小时后突然崩溃.当发生这种情况时,nginx仍然可以提供静态文件,但是即使Gunicorn进程仍然在服务器上运行,任何需要Gunicorn的东西都会返回500错误.通过重新启动Gunicorn sudo supervisorctl restart xxx
(不需要nginx重启),问题总是在接下来的12-36小时内得到修复.到目前为止,问题已经发生了大约10次.是否有可能以某种方式改进日志记录或做其他事情?
Nginx conf(/ etc/nginx/sites-available/xxx_gunicorn):
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
access_log /var/log/nginx/xxx-access.log;
server_name 127.0.0.1 www.xxx.yy;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://127.0.0.1:8000/;
}
location /static {
alias /opt/xxx/static/;
}
}
Run Code Online (Sandbox Code Playgroud)
主管conf启动gunicorn(/etc/supervisor/conf.d/xxx.conf)
[program:xxx]
command = gunicorn xxx:app -b localhost:8000 --debug --log-level debug --log-file /var/log/gunicorn.log --error-logfile /var/log/gunicorn.error.log --workers 2 --worker-connections 1000 --max-requests 100 --timeout …
Run Code Online (Sandbox Code Playgroud)