<分区>
<分区>
因此,在编写了一些文件共享代码后,我有两条路线。
@app.route( '/upload/<filename>', methods=['GET', 'POST'] )
和
@app.route( '/gallery', methods=['GET', 'POST'] )
'/gallery' 显示 '.../images' 文件夹中的所有文件并返回它们的列表作为 Jinja 显示的变量
'/upload/filename' 显示用户之前在'/gallery' 中点击过的文件,或者点击过的目录。
单击目录时,将显示类似于“/gallery”的页面,其中包含“.../images/directory”中所有文件的列表。此页面与“display_complete_image.html”(在“/gallery”中显示的 html 文件)相同,除了我知道的一种方式对 materialize 是否有效没有影响。这让我相信问题出在我的 Flask,而不是 HTML。这是代码。如果有人能提供帮助,我会很高兴
@app.route( '/upload/<filename>', methods=['GET', 'POST'] )
@admin_required
def send_image( filename ):
if request.method == "POST":
if request.form.get( 'mobile_site_button', None ) != None:
session[ 'mobile_site' ] = mobile_site_check( request.form.get( 'mobile_site_button' ) )
if "." not in filename:
print ". not in filename"
return render_template( "complete_display_directory.html", mobile_site=session.get( 'mobile_site' ), logged_in_status=is_logged_in( ), image_names=os.listdir('./images/%s' % ( filename.replace( '|', '/' ) ) ), directory_name=filename )
elif "|" in filename:
filename_back = filename[::-1]
char = filename_back.find( "|" )
print char
directory_name_back = filename_back[char::]
filename_back = filename_back[:char:]
filename = filename_back[::-1]
directory_name = directory_name_back[::-1]
return send_from_directory( "images/%s" % ( directory_name.replace( '|', '/' ) ), filename )
else:
return send_from_directory( "images/", filename )
上面是“/上传/文件名”。它向用户显示“complete_display_directory.html”(他们单击的目录中的文件列表)或他们单击的文件。下面是“/画廊”。它向用户显示“complete_display_image.html”(“.../images”中的文件列表)。不要问我关于命名选择的问题。
@app.route( '/gallery', methods=['GET', 'POST'] )
@admin_required
def get_gallery():
image_names = os.listdir( './images' )
if request.form.get( 'mobile_site_button', None ) != None:
session[ 'mobile_site' ] = mobile_site_check( request.form.get( 'mobile_site_button' ) )
return render_template("complete_display_image.html", image_names=image_names, mobile_site=session.get( 'mobile_site' ), logged_in_status=is_logged_in( ) )
最佳答案
事实证明 Flask 将其对 materialize.min.css 的请求路由到/upload/static/css/materialize.min.css 而不是/static/css/materialize.min.css 所以我做了一些挖掘Stack Overflow 发现我可以通过更改我的链接 href 来实现 Flask 访问
<link href="..static/css/materialize.min.css" type="text/css" rel="stylesheet" media="screen,projection">
到
<link href="{{ url_for('static', filename='bootstrap.min.css') }}" rel="stylesheet" media="screen">
:)
关于python - Materialise CSS 不显示(与 Flask 有关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852430/