完成页面基本结构, 前端太难写了

main
RogerWork 1 year ago
parent 102477a6d6
commit 9be343739d
  1. 0
      apps/__init__.py
  2. 23
      apps/basic/urls.py
  3. 4
      apps/basic/views.py
  4. 3
      myshop_back/urls.py
  5. 179
      templates/shop/base.html
  6. 120
      templates/shop/index.html

@ -0,0 +1,23 @@
"""
URL configuration for myshop_back project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, re_path, include
from apps.basic import views
urlpatterns = [
path('index/', views.index),
]

@ -1,3 +1,7 @@
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, 'shop/index.html')

@ -20,5 +20,6 @@ from django.urls import path, re_path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('user/', include('apps.user.urls'))
path('user/', include('apps.user.urls')),
path('basic/', include('apps.basic.urls'))
]

@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ title }}</title>
<link rel="stylesheet" href="{% static 'plugins/google-fonts/google.founts.css' %}">
<link rel="stylesheet" href="{% static 'plugins/google-fonts/google.fonts.css' %}">
<link rel="stylesheet" href="{% static 'plugins/fontawesome-free/css/all.min.css' %}">
<link rel="stylesheet"
href="{% static 'plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css' %}">
@ -17,7 +17,7 @@
<link rel="stylesheet" href="{% static 'plugins/daterangepicker/daterangepicker.css' %}">
<link rel="stylesheet" href="{% static 'plugins/summernote/summernote-bs4.min.css' %}">
<script src="{% static 'plugins/jquery/jquery.min.js' %}"></script>
<script src="{% static 'plugins/jquery-ui/jquery-ui.min.css' %}"></script>
<script src="{% static 'plugins/jquery-ui/jquery-ui.min.js' %}"></script>
{% block ext_css %}
{% endblock %}
</head>
@ -47,60 +47,145 @@
</nav>
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<a href="#" class="brand-link">
<img src="{% static 'dist/img/AdminLTELogo.png' %}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
<span class="brand-text font-weight-light">我的商场</span>
<img src="{% static 'dist/img/AdminLTELogo.png' %}" alt="AdminLTE Logo"
class="brand-image img-circle elevation-3" style="opacity: .8">
<span class="brand-text font-weight-light">我的商城</span>
</a>
<div class="sidebar">
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<img src="{% static 'dist/img/user2-160x160.jpg' %}" class="img-circle elevation-2" alt="User Image">
<img src="{% static 'dist/img/user2-160x160.jpg' %}" class="img-circle elevation-2"
alt="User Image">
</div>
<div class="info">
<a href="#" class="d-block">管理员</a>
</div>
</div>
<div class="Info">
<a href="#" class="d-block">管理员</a>
</div>
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<li class="nav-header">运营管理</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-calendar-alt"></i>
<p>
新订单
<span class="badge badge-info right">2</span>
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-image"></i>
<p>
订单管理
</p>
</a>
</li>
<li class="nav-header">用户管理</li>
<li class="nav-item">
<a href="/user/index" class="nav-link">
<i class="nav-icon far fa-calendar-alt"></i>
<p>
用户信息
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-image"></i>
<p>
状态异常会员
</p>
</a>
</li>
<li class="nav-header">基础信息</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-ellipsis-h"></i>
<p>区域维护</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-file"></i>
<p>Documentation</p>
</a>
</li>
<li class="nav-header">商品管理</li>
<li class="nav-item">
<a href="/goods/cate_index" class="nav-link">
<i class="fas fa-circle nav-icon"></i>
<p>商品分类维护</p>
</a>
</li>
<li class="nav-item">
<a href="/goods/index" class="nav-link">
<i class="fas fa-circle nav-icon"></i>
<p>商品信息维护</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="fas fa-circle nav-icon"></i>
<p>商品上下架</p>
</a>
</li>
<li class="nav-header">系统管理</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-circle text-danger"></i>
<p class="text">用户管理</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-circle text-warning"></i>
<p>角色管理</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-circle text-info"></i>
<p>权限管理</p>
</a>
</li>
</ul>
</nav>
</div>
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<li class="nav-header">运营管理</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-calculator-alt"></i>
<p>
新订单
<span class="badge badge-info right">2</span>
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-image"></i>
<p>
订单管理
</p>
</a>
</li>
<li class="nav-header">用户管理</li>
<li class="nav-item">
<a href="/user/index" class="nav-link">
<i class="nav-icon far fa-calculator-alt"></i>
<p>
用户信息
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon far fa-image"></i>
<p>
状态异常会员
</p>
</a>
</li>
</ul>
</nav>
</aside>
{% block content %}
{% endblock %}
<footer class="main-footer">
<strong>Copyright &copy; 2014-2023 <a href="https://adminlte.io">AdminLTE.io</a>. </strong>
All rights reserved.
<div class="float-right d-none d-sm-inline-block"><b>Version</b> 3.1.0-rc</div>
</footer>
<aside class="control-sidebar control-sidebar-dark"></aside>
</div>
<script>
$.widget.bridge('uibutton', $.ui.button)
</script>
<script src="{% static 'plugins/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
<script src="{% static 'plugins/chart.js/Chart.min.js' %}"></script>
<script src="{% static 'plugins/sparklines/sparkline.js' %}"></script>
<script src="{% static 'plugins/jqvmap/jquery.vmap.min.js' %}"></script>
<script src="{% static 'plugins/jqvmap/maps/jquery.vmap.usa.js' %}"></script>
<script src="{% static 'plugins/jquery-knob/jquery.knob.min.js' %}"></script>
<script src="{% static 'plugins/moment/moment.min.js' %}"></script>
<script src="{% static 'plugins/daterangepicker/daterangepicker.js' %}"></script>
<script src="{% static 'plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js' %}"></script>
<script src="{% static 'plugins/summernote/summernote-bs4.min.js' %}"></script>
<script src="{% static 'plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js' %}"></script>
<script src="{% static 'dist/js/adminlte.js' %}"></script>
<script src="{% static 'dist/js/demo.js' %}"></script>
<script src="{% static 'dist/js/pages/dashboard.js' %}"></script>
{% block ext_js %}
{% endblock %}
</body>
</html>

@ -0,0 +1,120 @@
{% extends 'shop/base.html' %}
{% load static %}
{% block ext_css %}
{% endblock %}
{% block content %}
<div class="content-wrapper">
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0">商城信息</h1>
<div class="col-sm-6"></div>
</div>
</div>
</div>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-lg-4 col-6">
<div class="small-box bg-info">
<div class="inner">
<h3>150</h3>
<p>新订单</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
</div>
<a href="#" class="small-box-footer">更多 <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<div class="col-lg-4 col-6">
<div class="small-box bg-success">
<div class="inner">
<h3>53</h3>
<p>会员</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="#" class="small-box-footer">更多 <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<div class="col-lg-4 col-6">
<div class="small-box bg-warning">
<div class="inner">
<h3>44</h3>
<p>商品数量</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
</div>
<a href="#" class="small-box-footer">更多 <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
</div>
<div class="row">
<section class="col-lg-7 connectedSortable">
<div class="card">
<div class="card-header">
<h3 class="card-title">
<i class="fas fa-chart-pie mr-1"></i>
Sales
</h3>
<div class="card-tools">
<ul class="nav nav-pills ml-auto">
<li class="nav-item">
<a class="nav-link active" href="#revenue-chart"
data-toggle="tab">Area</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#sales-chart" data-toggle="tab">Donut</a>
</li>
</ul>
</div>
</div>
<div class="card-body">
<div class="tab-content p-0">
<div class="chart tab-pane active" id="revenue-chart"
style="position: relative; height: 300px;">
<canvas id="revenue-chart-canvas" height="300"
style="height: 300px;"></canvas>
</div>
<div class="chart tab-pane" id="sales-chart"
style="position: relative; height: 300px;">
<canvas id="sales-chart-canvas" height="300"
style="height: 300px;"></canvas>
</div>
</div>
</div>
</div>
</section>
<section class="col-lg-5 connectedSortable">
<div class="card bg-gradient-info">
<div class="card-header border-0">
<h3 class="card-title">
<i class="fas fa-th mr-1"></i>
Sales Graph
</h3>
<div class="card-tools">
<button type="button" class="btn bg-info btn-sm" data-card-widget="collapse">
<i class="fas fa-minus"></i>
</button>
<button type="button" class="btn bg-info btn-sm" data-card-widget="remove">
<i class="fas fa-times"></i>
</button>
</div>
</div>
<div class="card-body">
<canvas class="chart" id="line-chart"
style="min-height: 250px; height: 250px; max-height: 250px; max-width: 100%;"></canvas>
</div>
</div>
</section>
</div>
</div>
</section>
</div>
</div>
{% endblock %}
Loading…
Cancel
Save