mirror of
https://github.com/fspc/workstand.git
synced 2025-02-23 01:13:22 -05:00
Add support for SCSS and use a template from MDL.
This commit is contained in:
parent
d48aa45006
commit
69054fa50a
2
.bowerrc
2
.bowerrc
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"directory": "bikeshop_project/static"
|
"directory": "bikeshop_project/vendor"
|
||||||
}
|
}
|
@ -29,6 +29,7 @@ INSTALLED_APPS = [
|
|||||||
'django.contrib.sessions',
|
'django.contrib.sessions',
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
|
'compressor',
|
||||||
'registration',
|
'registration',
|
||||||
'core',
|
'core',
|
||||||
]
|
]
|
||||||
@ -112,6 +113,19 @@ USE_TZ = True
|
|||||||
# Static files (CSS, JavaScript, Images)
|
# Static files (CSS, JavaScript, Images)
|
||||||
# https://docs.djangoproject.com/en/1.9/howto/static-files/
|
# https://docs.djangoproject.com/en/1.9/howto/static-files/
|
||||||
|
|
||||||
|
STATICFILES_FINDERS = (
|
||||||
|
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||||
|
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||||
|
'compressor.finders.CompressorFinder',
|
||||||
|
)
|
||||||
|
STATICFILES_DIRS = [
|
||||||
|
('vendor', os.path.join(BASE_DIR, '../vendor')),
|
||||||
|
]
|
||||||
|
STATIC_ROOT = 'static'
|
||||||
STATIC_URL = '/static/'
|
STATIC_URL = '/static/'
|
||||||
|
|
||||||
AUTH_USER_MODEL = 'registration.Member'
|
AUTH_USER_MODEL = 'registration.Member'
|
||||||
|
|
||||||
|
COMPRESS_PRECOMPILERS = (
|
||||||
|
('text/x-scss', 'django_libsass.SassCompiler'),
|
||||||
|
)
|
@ -13,9 +13,11 @@ Including another URLconf
|
|||||||
1. Import the include() function: from django.conf.urls import url, include
|
1. Import the include() function: from django.conf.urls import url, include
|
||||||
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
|
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
|
||||||
"""
|
"""
|
||||||
from django.conf.urls import url
|
from django.conf.urls import include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
from core import urls as core_urls
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
url('^', include(core_urls)),
|
||||||
url(r'^admin/', admin.site.urls),
|
url(r'^admin/', admin.site.urls),
|
||||||
]
|
]
|
||||||
|
BIN
bikeshop_project/core/static/images/android-desktop.png
Normal file
BIN
bikeshop_project/core/static/images/android-desktop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
BIN
bikeshop_project/core/static/images/dog.png
Normal file
BIN
bikeshop_project/core/static/images/dog.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
BIN
bikeshop_project/core/static/images/favicon.png
Normal file
BIN
bikeshop_project/core/static/images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 404 B |
BIN
bikeshop_project/core/static/images/ios-desktop.png
Normal file
BIN
bikeshop_project/core/static/images/ios-desktop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 701 B |
BIN
bikeshop_project/core/static/images/user.jpg
Normal file
BIN
bikeshop_project/core/static/images/user.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
226
bikeshop_project/core/static/scss/screen.scss
Normal file
226
bikeshop_project/core/static/scss/screen.scss
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
/**
|
||||||
|
* Copyright 2015 Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@import "vendor/material-design-lite/src/material-design-lite.scss";
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
font-family: 'Roboto', 'Helvetica', sans-serif;
|
||||||
|
}
|
||||||
|
.demo-avatar {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
border-radius: 24px;
|
||||||
|
}
|
||||||
|
.demo-layout .demo-header .mdl-textfield {
|
||||||
|
padding: 0px;
|
||||||
|
margin-top: 41px;
|
||||||
|
}
|
||||||
|
.demo-layout .demo-header .mdl-textfield .mdl-textfield__expandable-holder {
|
||||||
|
bottom: 19px;
|
||||||
|
}
|
||||||
|
.demo-layout .mdl-layout__header .mdl-layout__drawer-button {
|
||||||
|
color: rgba(0, 0, 0, 0.54);
|
||||||
|
}
|
||||||
|
.mdl-layout__drawer .avatar {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
.demo-drawer {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
/* iOS Safari specific workaround */
|
||||||
|
.demo-drawer .mdl-menu__container {
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
.demo-drawer .demo-navigation {
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
|
/* END iOS Safari specific workaround */
|
||||||
|
.demo-drawer .mdl-menu .mdl-menu__item {
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.demo-drawer-header {
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-flex-direction: column;
|
||||||
|
-ms-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
-webkit-justify-content: flex-end;
|
||||||
|
-ms-flex-pack: end;
|
||||||
|
justify-content: flex-end;
|
||||||
|
padding: 16px;
|
||||||
|
height: 151px;
|
||||||
|
}
|
||||||
|
.demo-avatar-dropdown {
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
-webkit-flex-direction: row;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
flex-direction: row;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-navigation {
|
||||||
|
-webkit-flex-grow: 1;
|
||||||
|
-ms-flex-positive: 1;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.demo-layout .demo-navigation .mdl-navigation__link {
|
||||||
|
display: -webkit-flex !important;
|
||||||
|
display: -ms-flexbox !important;
|
||||||
|
display: flex !important;
|
||||||
|
-webkit-flex-direction: row;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
flex-direction: row;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
color: rgba(255, 255, 255, 0.56);
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.demo-layout .demo-navigation .mdl-navigation__link:hover {
|
||||||
|
background-color: #00BCD4;
|
||||||
|
color: #37474F;
|
||||||
|
}
|
||||||
|
.demo-navigation .mdl-navigation__link .material-icons {
|
||||||
|
font-size: 24px;
|
||||||
|
color: rgba(255, 255, 255, 0.56);
|
||||||
|
margin-right: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-content {
|
||||||
|
max-width: 1080px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-charts {
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
-ms-grid-row-align: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.demo-chart:nth-child(1) {
|
||||||
|
color: #ACEC00;
|
||||||
|
}
|
||||||
|
.demo-chart:nth-child(2) {
|
||||||
|
color: #00BBD6;
|
||||||
|
}
|
||||||
|
.demo-chart:nth-child(3) {
|
||||||
|
color: #BA65C9;
|
||||||
|
}
|
||||||
|
.demo-chart:nth-child(4) {
|
||||||
|
color: #EF3C79;
|
||||||
|
}
|
||||||
|
.demo-graphs {
|
||||||
|
padding: 16px 32px;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-flex-direction: column;
|
||||||
|
-ms-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
-webkit-align-items: stretch;
|
||||||
|
-ms-flex-align: stretch;
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
/* TODO: Find a proper solution to have the graphs
|
||||||
|
* not float around outside their container in IE10/11.
|
||||||
|
* Using a browserhacks.com solution for now.
|
||||||
|
*/
|
||||||
|
_:-ms-input-placeholder, :root .demo-graphs {
|
||||||
|
min-height: 664px;
|
||||||
|
}
|
||||||
|
_:-ms-input-placeholder, :root .demo-graph {
|
||||||
|
max-height: 300px;
|
||||||
|
}
|
||||||
|
/* TODO end */
|
||||||
|
.demo-graph:nth-child(1) {
|
||||||
|
color: #00b9d8;
|
||||||
|
}
|
||||||
|
.demo-graph:nth-child(2) {
|
||||||
|
color: #d9006e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-cards {
|
||||||
|
-webkit-align-items: flex-start;
|
||||||
|
-ms-flex-align: start;
|
||||||
|
-ms-grid-row-align: flex-start;
|
||||||
|
align-items: flex-start;
|
||||||
|
-webkit-align-content: flex-start;
|
||||||
|
-ms-flex-line-pack: start;
|
||||||
|
align-content: flex-start;
|
||||||
|
}
|
||||||
|
.demo-cards .demo-separator {
|
||||||
|
height: 32px;
|
||||||
|
}
|
||||||
|
.demo-cards .mdl-card__title.mdl-card__title {
|
||||||
|
color: white;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.demo-cards ul {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.demo-cards h3 {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
.demo-updates .mdl-card__title {
|
||||||
|
min-height: 200px;
|
||||||
|
background-image: url(static("images/dog.png"));
|
||||||
|
background-position: 90% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
.demo-cards .mdl-card__actions a {
|
||||||
|
color: #00BCD4;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-options h3 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.demo-options .mdl-checkbox__box-outline {
|
||||||
|
border-color: rgba(255, 255, 255, 0.89);
|
||||||
|
}
|
||||||
|
.demo-options ul {
|
||||||
|
margin: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
.demo-options li {
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
.demo-options .material-icons {
|
||||||
|
color: rgba(255, 255, 255, 0.89);
|
||||||
|
}
|
||||||
|
.demo-options .mdl-card__actions {
|
||||||
|
height: 64px;
|
||||||
|
display: -webkit-flex;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
box-sizing: border-box;
|
||||||
|
-webkit-align-items: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
252
bikeshop_project/core/templates/base.html
Normal file
252
bikeshop_project/core/templates/base.html
Normal file
@ -0,0 +1,252 @@
|
|||||||
|
{% load compress staticfiles %}
|
||||||
|
<!doctype html>
|
||||||
|
<!--
|
||||||
|
Material Design Lite
|
||||||
|
Copyright 2015 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License
|
||||||
|
-->
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="description" content="A front-end template that helps you build fast, modern mobile web apps.">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
||||||
|
<title>Material Design Lite</title>
|
||||||
|
|
||||||
|
<!-- Add to homescreen for Chrome on Android -->
|
||||||
|
<meta name="mobile-web-app-capable" content="yes">
|
||||||
|
<link rel="icon" sizes="192x192" href="images/android-desktop.png">
|
||||||
|
|
||||||
|
<!-- Add to homescreen for Safari on iOS -->
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||||
|
<meta name="apple-mobile-web-app-title" content="Material Design Lite">
|
||||||
|
<link rel="apple-touch-icon-precomposed" href="images/ios-desktop.png">
|
||||||
|
|
||||||
|
<!-- Tile icon for Win8 (144x144 + tile color) -->
|
||||||
|
<meta name="msapplication-TileImage" content="images/touch/ms-touch-icon-144x144-precomposed.png">
|
||||||
|
<meta name="msapplication-TileColor" content="#3372DF">
|
||||||
|
|
||||||
|
<link rel="shortcut icon" href="images/favicon.png">
|
||||||
|
|
||||||
|
<!-- SEO: If your mobile URL is different from the desktop URL, add a canonical link to the desktop page https://developers.google.com/webmasters/smartphone-sites/feature-phones -->
|
||||||
|
<!--
|
||||||
|
<link rel="canonical" href="http://www.example.com/">
|
||||||
|
-->
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en">
|
||||||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
||||||
|
{% compress css %}
|
||||||
|
<link rel="stylesheet" type="text/x-scss" href="{% static 'scss/screen.scss' %}">
|
||||||
|
{% endcompress %}
|
||||||
|
<style>
|
||||||
|
#view-source {
|
||||||
|
position: fixed;
|
||||||
|
display: block;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin-right: 40px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
z-index: 900;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="demo-layout mdl-layout mdl-js-layout mdl-layout--fixed-drawer mdl-layout--fixed-header">
|
||||||
|
<header class="demo-header mdl-layout__header mdl-color--grey-100 mdl-color-text--grey-600">
|
||||||
|
<div class="mdl-layout__header-row">
|
||||||
|
<span class="mdl-layout-title">Home</span>
|
||||||
|
<div class="mdl-layout-spacer"></div>
|
||||||
|
<div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable">
|
||||||
|
<label class="mdl-button mdl-js-button mdl-button--icon" for="search">
|
||||||
|
<i class="material-icons">search</i>
|
||||||
|
</label>
|
||||||
|
<div class="mdl-textfield__expandable-holder">
|
||||||
|
<input class="mdl-textfield__input" type="text" id="search">
|
||||||
|
<label class="mdl-textfield__label" for="search">Enter your query...</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon" id="hdrbtn">
|
||||||
|
<i class="material-icons">more_vert</i>
|
||||||
|
</button>
|
||||||
|
<ul class="mdl-menu mdl-js-menu mdl-js-ripple-effect mdl-menu--bottom-right" for="hdrbtn">
|
||||||
|
<li class="mdl-menu__item">About</li>
|
||||||
|
<li class="mdl-menu__item">Contact</li>
|
||||||
|
<li class="mdl-menu__item">Legal information</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="demo-drawer mdl-layout__drawer mdl-color--blue-grey-900 mdl-color-text--blue-grey-50">
|
||||||
|
<header class="demo-drawer-header">
|
||||||
|
<img src="{% static 'images/user.jpg' %}" class="demo-avatar">
|
||||||
|
<div class="demo-avatar-dropdown">
|
||||||
|
<span>hello@example.com</span>
|
||||||
|
<div class="mdl-layout-spacer"></div>
|
||||||
|
<button id="accbtn" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon">
|
||||||
|
<i class="material-icons" role="presentation">arrow_drop_down</i>
|
||||||
|
<span class="visuallyhidden">Accounts</span>
|
||||||
|
</button>
|
||||||
|
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect" for="accbtn">
|
||||||
|
<li class="mdl-menu__item">hello@example.com</li>
|
||||||
|
<li class="mdl-menu__item">info@example.com</li>
|
||||||
|
<li class="mdl-menu__item"><i class="material-icons">add</i>Add another account...</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<nav class="demo-navigation mdl-navigation mdl-color--blue-grey-800">
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">home</i>Home</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">inbox</i>Inbox</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">delete</i>Trash</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">report</i>Spam</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">forum</i>Forums</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">flag</i>Updates</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">local_offer</i>Promos</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">shopping_cart</i>Purchases</a>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">people</i>Social</a>
|
||||||
|
<div class="mdl-layout-spacer"></div>
|
||||||
|
<a class="mdl-navigation__link" href=""><i class="mdl-color-text--blue-grey-400 material-icons" role="presentation">help_outline</i><span class="visuallyhidden">Help</span></a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<main class="mdl-layout__content mdl-color--grey-100">
|
||||||
|
<div class="mdl-grid demo-content">
|
||||||
|
<div class="demo-charts mdl-color--white mdl-shadow--2dp mdl-cell mdl-cell--12-col mdl-grid">
|
||||||
|
<svg fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop">
|
||||||
|
<use xlink:href="#piechart" mask="url(#piemask)" />
|
||||||
|
<text x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1">82<tspan font-size="0.2" dy="-0.07">%</tspan></text>
|
||||||
|
</svg>
|
||||||
|
<svg fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop">
|
||||||
|
<use xlink:href="#piechart" mask="url(#piemask)" />
|
||||||
|
<text x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1">82<tspan dy="-0.07" font-size="0.2">%</tspan></text>
|
||||||
|
</svg>
|
||||||
|
<svg fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop">
|
||||||
|
<use xlink:href="#piechart" mask="url(#piemask)" />
|
||||||
|
<text x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1">82<tspan dy="-0.07" font-size="0.2">%</tspan></text>
|
||||||
|
</svg>
|
||||||
|
<svg fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop">
|
||||||
|
<use xlink:href="#piechart" mask="url(#piemask)" />
|
||||||
|
<text x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1">82<tspan dy="-0.07" font-size="0.2">%</tspan></text>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="demo-graphs mdl-shadow--2dp mdl-color--white mdl-cell mdl-cell--8-col">
|
||||||
|
<svg fill="currentColor" viewBox="0 0 500 250" class="demo-graph">
|
||||||
|
<use xlink:href="#chart" />
|
||||||
|
</svg>
|
||||||
|
<svg fill="currentColor" viewBox="0 0 500 250" class="demo-graph">
|
||||||
|
<use xlink:href="#chart" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="demo-cards mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-grid mdl-grid--no-spacing">
|
||||||
|
<div class="demo-updates mdl-card mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--4-col-tablet mdl-cell--12-col-desktop">
|
||||||
|
<div class="mdl-card__title mdl-card--expand mdl-color--teal-300">
|
||||||
|
<h2 class="mdl-card__title-text">Updates</h2>
|
||||||
|
</div>
|
||||||
|
<div class="mdl-card__supporting-text mdl-color-text--grey-600">
|
||||||
|
Non dolore elit adipisicing ea reprehenderit consectetur culpa.
|
||||||
|
</div>
|
||||||
|
<div class="mdl-card__actions mdl-card--border">
|
||||||
|
<a href="#" class="mdl-button mdl-js-button mdl-js-ripple-effect">Read More</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="demo-separator mdl-cell--1-col"></div>
|
||||||
|
<div class="demo-options mdl-card mdl-color--deep-purple-500 mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--3-col-tablet mdl-cell--12-col-desktop">
|
||||||
|
<div class="mdl-card__supporting-text mdl-color-text--blue-grey-50">
|
||||||
|
<h3>View options</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<label for="chkbox1" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
|
||||||
|
<input type="checkbox" id="chkbox1" class="mdl-checkbox__input">
|
||||||
|
<span class="mdl-checkbox__label">Click per object</span>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="chkbox2" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
|
||||||
|
<input type="checkbox" id="chkbox2" class="mdl-checkbox__input">
|
||||||
|
<span class="mdl-checkbox__label">Views per object</span>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="chkbox3" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
|
||||||
|
<input type="checkbox" id="chkbox3" class="mdl-checkbox__input">
|
||||||
|
<span class="mdl-checkbox__label">Objects selected</span>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="chkbox4" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect">
|
||||||
|
<input type="checkbox" id="chkbox4" class="mdl-checkbox__input">
|
||||||
|
<span class="mdl-checkbox__label">Objects viewed</span>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="mdl-card__actions mdl-card--border">
|
||||||
|
<a href="#" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-color-text--blue-grey-50">Change location</a>
|
||||||
|
<div class="mdl-layout-spacer"></div>
|
||||||
|
<i class="material-icons">location_on</i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" style="position: fixed; left: -1000px; height: -1000px;">
|
||||||
|
<defs>
|
||||||
|
<mask id="piemask" maskContentUnits="objectBoundingBox">
|
||||||
|
<circle cx=0.5 cy=0.5 r=0.49 fill="white" />
|
||||||
|
<circle cx=0.5 cy=0.5 r=0.40 fill="black" />
|
||||||
|
</mask>
|
||||||
|
<g id="piechart">
|
||||||
|
<circle cx=0.5 cy=0.5 r=0.5 />
|
||||||
|
<path d="M 0.5 0.5 0.5 0 A 0.5 0.5 0 0 1 0.95 0.28 z" stroke="none" fill="rgba(255, 255, 255, 0.75)" />
|
||||||
|
</g>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 250" style="position: fixed; left: -1000px; height: -1000px;">
|
||||||
|
<defs>
|
||||||
|
<g id="chart">
|
||||||
|
<g id="Gridlines">
|
||||||
|
<line fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="27.3" x2="468.3" y2="27.3" />
|
||||||
|
<line fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="66.7" x2="468.3" y2="66.7" />
|
||||||
|
<line fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="105.3" x2="468.3" y2="105.3" />
|
||||||
|
<line fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="144.7" x2="468.3" y2="144.7" />
|
||||||
|
<line fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="184.3" x2="468.3" y2="184.3" />
|
||||||
|
</g>
|
||||||
|
<g id="Numbers">
|
||||||
|
<text transform="matrix(1 0 0 1 485 29.3333)" fill="#888888" font-family="'Roboto'" font-size="9">500</text>
|
||||||
|
<text transform="matrix(1 0 0 1 485 69)" fill="#888888" font-family="'Roboto'" font-size="9">400</text>
|
||||||
|
<text transform="matrix(1 0 0 1 485 109.3333)" fill="#888888" font-family="'Roboto'" font-size="9">300</text>
|
||||||
|
<text transform="matrix(1 0 0 1 485 149)" fill="#888888" font-family="'Roboto'" font-size="9">200</text>
|
||||||
|
<text transform="matrix(1 0 0 1 485 188.3333)" fill="#888888" font-family="'Roboto'" font-size="9">100</text>
|
||||||
|
<text transform="matrix(1 0 0 1 0 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">1</text>
|
||||||
|
<text transform="matrix(1 0 0 1 78 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">2</text>
|
||||||
|
<text transform="matrix(1 0 0 1 154.6667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">3</text>
|
||||||
|
<text transform="matrix(1 0 0 1 232.1667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">4</text>
|
||||||
|
<text transform="matrix(1 0 0 1 309 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">5</text>
|
||||||
|
<text transform="matrix(1 0 0 1 386.6667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">6</text>
|
||||||
|
<text transform="matrix(1 0 0 1 464.3333 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9">7</text>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_5">
|
||||||
|
<polygon opacity="0.36" stroke-miterlimit="10" points="0,223.3 48,138.5 154.7,169 211,88.5
|
||||||
|
294.5,80.5 380,165.2 437,75.5 469.5,223.3 "/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_4">
|
||||||
|
<polygon stroke-miterlimit="10" points="469.3,222.7 1,222.7 48.7,166.7 155.7,188.3 212,132.7
|
||||||
|
296.7,128 380.7,184.3 436.7,125 "/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<a href="https://github.com/google/material-design-lite/blob/master/templates/dashboard/" target="_blank" id="view-source" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored mdl-color-text--white">View Source</a>
|
||||||
|
<script src="{% static 'vendor/material-design-lite/material.js' %}"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
6
bikeshop_project/core/urls.py
Normal file
6
bikeshop_project/core/urls.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from django.conf.urls import url
|
||||||
|
|
||||||
|
from .views import DashboardView
|
||||||
|
urlpatterns = [
|
||||||
|
url(r'^', DashboardView.as_view()),
|
||||||
|
]
|
@ -1,3 +1,7 @@
|
|||||||
from django.shortcuts import render
|
from django.template.response import TemplateResponse
|
||||||
|
from django.views.generic import View
|
||||||
|
|
||||||
# Create your views here.
|
|
||||||
|
class DashboardView(View):
|
||||||
|
def get(self, request):
|
||||||
|
return TemplateResponse(request, 'base.html')
|
Loading…
x
Reference in New Issue
Block a user