Django认证系统模板中socialaccount load标签的更优放置位置咨询
针对你的问题,有两个更合适的放置方案,能大幅提升代码可读性:
方案1:放在模板文件的最开头(所有HTML内容之前)
把所有模板标签库的加载语句集中放在文件最顶部,这是Django开发中最常用的规范,能让维护者一眼看到当前模板依赖的所有标签库:
{% load socialaccount %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> {% block title %} <title>Sign In</title> {% endblock %} </head> <body> {% block content %} <h1>Sign in</h1> <a href="{% provider_login_url 'google'%}">Login with google</a> {% endblock %} </body> </html>
方案2:放在content块的最顶部
如果socialaccount标签库只在content块内使用,把加载语句放在块的开头,能明确该依赖的作用范围,避免影响模板其他部分:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> {% block title %} <title>Sign In</title> {% endblock %} </head> <body> {% block content %} {% load socialaccount %} <h1>Sign in</h1> <a href="{% provider_login_url 'google'%}">Login with google</a> {% endblock %} </body> </html>
两种方案里更推荐方案1,除非你有明确的范围隔离需求——集中声明依赖的方式更符合通用的代码可读性原则,后续维护时不需要在代码块中找加载语句。
内容的提问来源于stack exchange,提问作者Carlos Lopes
相关产品推荐
相关产品推荐

