header.html 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!-- 定义导航栏 -->
  2. <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  3. <div class="container">
  4. <!-- 导航栏商标 -->
  5. <a class="navbar-brand" href="#">我的博客</a>
  6. <!-- 导航入口 -->
  7. <div>
  8. <ul class="navbar-nav">
  9. <!-- 条目 -->
  10. <li class="nav-item">
  11. <a class="nav-link" href="{% url 'article:article_create' %}">写文章</a>
  12. </li>
  13. <li class="nav-item">
  14. <a class="nav-link" href="{% url 'article:article_list' %}">文章</a>
  15. </li>
  16. <!-- Django的 if 模板语句 -->
  17. {% if user.is_authenticated %}
  18. <!-- 如果用户已经登录,则显示用户名下拉框 -->
  19. <li class="nav-item dropdown">
  20. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
  21. data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  22. {{ user.username }}
  23. </a>
  24. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  25. <a class="dropdown-item" href="{% url 'userprofile:edit' user.id %}">个人信息</a>
  26. <a class="dropdown-item" href="{% url 'userprofile:logout' %}">退出登录</a>
  27. <a class="dropdown-item" href="#" onclick="user_delete()">删除用户</a>
  28. </div>
  29. {% if user.is_authenticated %}
  30. <form
  31. style="display:none;"
  32. id="user_delete"
  33. action="{% url 'userprofile:delete' user.id %}"
  34. method="POST"
  35. >
  36. {% csrf_token %}
  37. <button type="submit">发送</button>
  38. </form>
  39. <script>
  40. function user_delete() {
  41. // 调用layer弹窗组件
  42. layer.open({
  43. title: "删除用户",
  44. content: "确认删除用户资料吗?",
  45. yes: function (index, layero) {
  46. $('form#user_delete button').click();
  47. layer.close(index);
  48. },
  49. })
  50. }
  51. </script>
  52. {% endif %}
  53. </li>
  54. <!-- 如果用户未登录,则显示 “登录” -->
  55. {% else %}
  56. <li class="nav-item">
  57. <a class="nav-link" href="{% url 'userprofile:login' %}">登录</a>
  58. </li>
  59. <!-- if 语句在这里结束 -->
  60. {% endif %}
  61. </ul>
  62. </div>
  63. </div>
  64. </nav>