basic search view at /search sending search requests with term and bbox to search_view_json
|
@ -11,6 +11,8 @@ ADMINS = (
|
|||
INTERNAL_IPS = ('127.0.0.1',)
|
||||
MANAGERS = ADMINS
|
||||
|
||||
LOCAL_DEVELOPMENT = True
|
||||
|
||||
PROJECT_ROOT = os.path.dirname(__file__)
|
||||
|
||||
DATABASES = {
|
||||
|
|
|
@ -1,5 +1,25 @@
|
|||
$(function() {
|
||||
var map = new OpenLayers.Map('map', {});
|
||||
map = new OpenLayers.Map('map', {});
|
||||
var baseLayer = new OpenLayers.Layer.OSM( "Openstreetmap Base Layer");
|
||||
map.addLayer(baseLayer);
|
||||
var center = new OpenLayers.LonLat(-95, 37.5).transform(
|
||||
new OpenLayers.Projection("EPSG:4326"),
|
||||
map.getProjectionObject()
|
||||
);
|
||||
map.setCenter(center, 4);
|
||||
|
||||
|
||||
$('#searchForm').submit(function(e) {
|
||||
e.preventDefault();
|
||||
var bbox = map.getExtent().toBBOX();
|
||||
var search_term = $('#search').val();
|
||||
$.getJSON("search_json", {
|
||||
'bbox': bbox,
|
||||
'search': search_term
|
||||
}, function(response) {
|
||||
console.log(response);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
|
BIN
gazetteer/static/js/openlayers/img/blank.gif
Normal file
After Width: | Height: | Size: 42 B |
BIN
gazetteer/static/js/openlayers/img/cloud-popup-relative.png
Executable file
After Width: | Height: | Size: 3.1 KiB |
BIN
gazetteer/static/js/openlayers/img/drag-rectangle-off.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
gazetteer/static/js/openlayers/img/drag-rectangle-on.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
gazetteer/static/js/openlayers/img/east-mini.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
gazetteer/static/js/openlayers/img/layer-switcher-maximize.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
gazetteer/static/js/openlayers/img/layer-switcher-minimize.png
Normal file
After Width: | Height: | Size: 249 B |
BIN
gazetteer/static/js/openlayers/img/marker-blue.png
Normal file
After Width: | Height: | Size: 992 B |
BIN
gazetteer/static/js/openlayers/img/marker-gold.png
Normal file
After Width: | Height: | Size: 831 B |
BIN
gazetteer/static/js/openlayers/img/marker-green.png
Normal file
After Width: | Height: | Size: 967 B |
BIN
gazetteer/static/js/openlayers/img/marker.png
Normal file
After Width: | Height: | Size: 606 B |
BIN
gazetteer/static/js/openlayers/img/measuring-stick-off.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
gazetteer/static/js/openlayers/img/measuring-stick-on.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
gazetteer/static/js/openlayers/img/north-mini.png
Normal file
After Width: | Height: | Size: 484 B |
BIN
gazetteer/static/js/openlayers/img/panning-hand-off.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
gazetteer/static/js/openlayers/img/panning-hand-on.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
gazetteer/static/js/openlayers/img/slider.png
Normal file
After Width: | Height: | Size: 285 B |
BIN
gazetteer/static/js/openlayers/img/south-mini.png
Normal file
After Width: | Height: | Size: 481 B |
BIN
gazetteer/static/js/openlayers/img/west-mini.png
Normal file
After Width: | Height: | Size: 453 B |
BIN
gazetteer/static/js/openlayers/img/zoom-minus-mini.png
Normal file
After Width: | Height: | Size: 359 B |
BIN
gazetteer/static/js/openlayers/img/zoom-plus-mini.png
Normal file
After Width: | Height: | Size: 489 B |
BIN
gazetteer/static/js/openlayers/img/zoom-world-mini.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
gazetteer/static/js/openlayers/img/zoombar.png
Normal file
After Width: | Height: | Size: 463 B |
10
gazetteer/static/js/openlayers/theme/default/google.css
Normal file
|
@ -0,0 +1,10 @@
|
|||
.olLayerGoogleCopyright {
|
||||
right: 3px;
|
||||
bottom: 2px;
|
||||
left: auto;
|
||||
}
|
||||
.olLayerGooglePoweredBy {
|
||||
left: 2px;
|
||||
bottom: 2px;
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
.olControlZoomPanel div {
|
||||
background-image: url(img/zoom-panel-NOALPHA.png);
|
||||
}
|
||||
.olControlPanPanel div {
|
||||
background-image: url(img/pan-panel-NOALPHA.png);
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
BIN
gazetteer/static/js/openlayers/theme/default/img/blank.gif
Normal file
After Width: | Height: | Size: 42 B |
BIN
gazetteer/static/js/openlayers/theme/default/img/close.gif
Normal file
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 79 B |
After Width: | Height: | Size: 566 B |
BIN
gazetteer/static/js/openlayers/theme/default/img/pan-panel.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
gazetteer/static/js/openlayers/theme/default/img/pan_off.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
gazetteer/static/js/openlayers/theme/default/img/pan_on.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
BIN
gazetteer/static/js/openlayers/theme/default/img/ruler.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 357 B |
After Width: | Height: | Size: 364 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.1 KiB |
BIN
gazetteer/static/js/openlayers/theme/default/img/zoom-panel.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
397
gazetteer/static/js/openlayers/theme/default/style.css
Normal file
|
@ -0,0 +1,397 @@
|
|||
div.olMap {
|
||||
z-index: 0;
|
||||
padding: 0px!important;
|
||||
margin: 0px!important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
div.olMapViewport {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.olLayerDiv {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.olLayerGoogleCopyright {
|
||||
left: 2px;
|
||||
bottom: 2px;
|
||||
}
|
||||
.olLayerGooglePoweredBy {
|
||||
left: 2px;
|
||||
bottom: 15px;
|
||||
}
|
||||
.olControlAttribution {
|
||||
font-size: smaller;
|
||||
right: 3px;
|
||||
bottom: 4.5em;
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
.olControlScale {
|
||||
right: 3px;
|
||||
bottom: 3em;
|
||||
display: block;
|
||||
position: absolute;
|
||||
font-size: smaller;
|
||||
}
|
||||
.olControlScaleLine {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
bottom: 15px;
|
||||
font-size: xx-small;
|
||||
}
|
||||
.olControlScaleLineBottom {
|
||||
border: solid 2px black;
|
||||
border-bottom: none;
|
||||
margin-top:-2px;
|
||||
text-align: center;
|
||||
}
|
||||
.olControlScaleLineTop {
|
||||
border: solid 2px black;
|
||||
border-top: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.olControlPermalink {
|
||||
right: 3px;
|
||||
bottom: 1.5em;
|
||||
display: block;
|
||||
position: absolute;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
div.olControlMousePosition {
|
||||
bottom: 0em;
|
||||
right: 3px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
font-family: Arial;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.olControlOverviewMapContainer {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.olControlOverviewMapElement {
|
||||
padding: 10px 18px 10px 10px;
|
||||
background-color: #00008B;
|
||||
-moz-border-radius: 1em 0 0 0;
|
||||
}
|
||||
|
||||
.olControlOverviewMapMinimizeButton {
|
||||
right: 0px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.olControlOverviewMapMaximizeButton {
|
||||
right: 0px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.olControlOverviewMapExtentRectangle {
|
||||
overflow: hidden;
|
||||
background-image: url("img/blank.gif");
|
||||
cursor: move;
|
||||
border: 2px dotted red;
|
||||
}
|
||||
.olControlOverviewMapRectReplacement {
|
||||
overflow: hidden;
|
||||
cursor: move;
|
||||
background-image: url("img/overview_replacement.gif");
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.olLayerGeoRSSDescription {
|
||||
float:left;
|
||||
width:100%;
|
||||
overflow:auto;
|
||||
font-size:1.0em;
|
||||
}
|
||||
.olLayerGeoRSSClose {
|
||||
float:right;
|
||||
color:gray;
|
||||
font-size:1.2em;
|
||||
margin-right:6px;
|
||||
font-family:sans-serif;
|
||||
}
|
||||
.olLayerGeoRSSTitle {
|
||||
float:left;font-size:1.2em;
|
||||
}
|
||||
|
||||
.olPopupContent {
|
||||
padding:5px;
|
||||
overflow: auto;
|
||||
}
|
||||
.olControlNavToolbar {
|
||||
width:0px;
|
||||
height:0px;
|
||||
}
|
||||
.olControlNavToolbar div {
|
||||
display:block;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
top: 300px;
|
||||
left: 6px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.olControlNavigationHistory {
|
||||
background-image: url("img/navigation_history.png");
|
||||
background-repeat: no-repeat;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
|
||||
}
|
||||
.olControlNavigationHistoryPreviousItemActive {
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
.olControlNavigationHistoryPreviousItemInactive {
|
||||
background-position: 0px -24px;
|
||||
}
|
||||
.olControlNavigationHistoryNextItemActive {
|
||||
background-position: -24px 0px;
|
||||
}
|
||||
.olControlNavigationHistoryNextItemInactive {
|
||||
background-position: -24px -24px;
|
||||
}
|
||||
|
||||
.olControlNavToolbar .olControlNavigationItemActive {
|
||||
background-image: url("img/panning-hand-on.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.olControlNavToolbar .olControlNavigationItemInactive {
|
||||
background-image: url("img/panning-hand-off.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.olControlNavToolbar .olControlZoomBoxItemActive {
|
||||
background-image: url("img/drag-rectangle-on.png");
|
||||
background-color: orange;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.olControlNavToolbar .olControlZoomBoxItemInactive {
|
||||
background-image: url("img/drag-rectangle-off.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.olControlEditingToolbar {
|
||||
float:right;
|
||||
right: 0px;
|
||||
height: 30px;
|
||||
width: 200px;
|
||||
}
|
||||
.olControlEditingToolbar div {
|
||||
background-image: url("img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
float:right;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 5px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlNavigationItemActive {
|
||||
background-position: -103px -23px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlNavigationItemInactive {
|
||||
background-position: -103px -0px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePointItemActive {
|
||||
background-position: -77px -23px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePointItemInactive {
|
||||
background-position: -77px -0px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePathItemInactive {
|
||||
background-position: -51px 0px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePathItemActive {
|
||||
background-position: -51px -23px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive {
|
||||
background-position: -26px 0px;
|
||||
}
|
||||
.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive {
|
||||
background-position: -26px -23px ;
|
||||
}
|
||||
div.olControlSaveFeaturesItemActive {
|
||||
background-image: url(img/save_features_on.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
div.olControlSaveFeaturesItemInactive {
|
||||
background-image: url(img/save_features_off.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
|
||||
.olHandlerBoxZoomBox {
|
||||
border: 2px solid red;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
opacity: 0.50;
|
||||
font-size: 1px;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
.olHandlerBoxSelectFeature {
|
||||
border: 2px solid blue;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
opacity: 0.50;
|
||||
font-size: 1px;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
|
||||
.olControlPanPanel {
|
||||
top: 10px;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
.olControlPanPanel div {
|
||||
background-image: url(img/pan-panel.png);
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.olControlPanPanel .olControlPanNorthItemInactive {
|
||||
top: 0px;
|
||||
left: 9px;
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
.olControlPanPanel .olControlPanSouthItemInactive {
|
||||
top: 36px;
|
||||
left: 9px;
|
||||
background-position: 18px 0px;
|
||||
}
|
||||
.olControlPanPanel .olControlPanWestItemInactive {
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
left: 0px;
|
||||
background-position: 0px 18px;
|
||||
}
|
||||
.olControlPanPanel .olControlPanEastItemInactive {
|
||||
top: 18px;
|
||||
left: 18px;
|
||||
background-position: 18px 18px;
|
||||
}
|
||||
|
||||
.olControlZoomPanel {
|
||||
top: 71px;
|
||||
left: 14px;
|
||||
}
|
||||
|
||||
.olControlZoomPanel div {
|
||||
background-image: url(img/zoom-panel.png);
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.olControlZoomPanel .olControlZoomInItemInactive {
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
|
||||
.olControlZoomPanel .olControlZoomToMaxExtentItemInactive {
|
||||
top: 18px;
|
||||
left: 0px;
|
||||
background-position: 0px -18px;
|
||||
}
|
||||
|
||||
.olControlZoomPanel .olControlZoomOutItemInactive {
|
||||
top: 36px;
|
||||
left: 0px;
|
||||
background-position: 0px 18px;
|
||||
}
|
||||
|
||||
.olPopupCloseBox {
|
||||
background: url("img/close.gif") no-repeat;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.olFramedCloudPopupContent {
|
||||
padding: 5px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.olControlNoSelect {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.olImageLoadError {
|
||||
background-color: pink;
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50); /* IE */
|
||||
}
|
||||
|
||||
/**
|
||||
* Cursor styles
|
||||
*/
|
||||
|
||||
.olCursorWait {
|
||||
cursor: wait;
|
||||
}
|
||||
.olDragDown {
|
||||
cursor: move;
|
||||
}
|
||||
.olDrawBox {
|
||||
cursor: crosshair;
|
||||
}
|
||||
.olControlDragFeatureOver {
|
||||
cursor: move;
|
||||
}
|
||||
.olControlDragFeatureActive.olControlDragFeatureOver.olDragDown {
|
||||
cursor: -moz-grabbing;
|
||||
}
|
||||
|
||||
/**
|
||||
* Layer switcher
|
||||
*/
|
||||
.olControlLayerSwitcher {
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
right: 0px;
|
||||
width: 20em;
|
||||
font-family: sans-serif;
|
||||
font-weight: bold;
|
||||
margin-top: 3px;
|
||||
margin-left: 3px;
|
||||
margin-bottom: 3px;
|
||||
font-size: smaller;
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.olControlLayerSwitcher .layersDiv {
|
||||
padding-top: 5px;
|
||||
padding-left: 10px;
|
||||
padding-bottom: 5px;
|
||||
padding-right: 75px;
|
||||
background-color: darkblue;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.olControlLayerSwitcher .layersDiv .baseLbl,
|
||||
.olControlLayerSwitcher .layersDiv .dataLbl {
|
||||
margin-top: 3px;
|
||||
margin-left: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.olControlLayerSwitcher .layersDiv .baseLayersDiv,
|
||||
.olControlLayerSwitcher .layersDiv .dataLayersDiv {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.olControlLayerSwitcher .maximizeDiv,
|
||||
.olControlLayerSwitcher .minimizeDiv {
|
||||
top: 5px;
|
||||
right: 0px;
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
<link rel="stylesheet" href="/static/css/reset.css" type="text/css" />
|
||||
<link rel="stylesheet" href="/static/css/main.css" type="text/css" />
|
||||
<script type="text/javascript" src="/static/js/jquery.js"></script>
|
||||
<script type="text/javascript" src="/static/js/OpenLayers.js"></script>
|
||||
<script type="text/javascript" src="/static/js/openlayers/OpenLayers.js"></script>
|
||||
<script type="text/javascript" src="/static/js/gazetteer.js"></script>
|
||||
</head>
|
||||
|
||||
|
@ -21,9 +21,9 @@
|
|||
|
||||
<div class="header">
|
||||
|
||||
<form action="" method="get" class="search"><!--method is right???-->
|
||||
<input type="text" placeholder="Search digital gazetteer" name="field"/>
|
||||
</form>
|
||||
<form action="" method="get" class="search" id="searchForm"><!--method is right???-->
|
||||
<input type="text" placeholder="Search digital gazetteer" name="field" id="search" />
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -34,8 +34,9 @@
|
|||
<div class="content">
|
||||
|
||||
|
||||
<div class="mapListSection">
|
||||
<div class="mapListSection">
|
||||
<ul class="mapList">
|
||||
<!--
|
||||
<li>Water Well Imagery</li>
|
||||
<li>Chicago in the 20s</li>
|
||||
<li>Maps go here</li>
|
||||
|
@ -46,10 +47,11 @@
|
|||
<li>Maps go here</li>
|
||||
<li>Maps go here</li>
|
||||
<li>Maps go here</li>
|
||||
</ul>
|
||||
-->
|
||||
</ul>
|
||||
|
||||
<ol class="paginate paginateSelected"> <!--ordered would be better in this case, right?-->
|
||||
<li><a href="">«</a></li>
|
||||
<ol class="paginate paginateSelected"> <!--ordered would be better in this case, right?-->
|
||||
<!-- <li><a href="">«</a></li> -->
|
||||
<li><a href="">1</a></li>
|
||||
<li><a href="">2</a></li>
|
||||
<li><a href="">3</a></li>
|
||||
|
@ -60,19 +62,19 @@
|
|||
<li><a href="">8</a></li>
|
||||
<li><a href="">9</a></li>
|
||||
<li><a href="">10</a></li>
|
||||
<li><a href="">»</a></li>
|
||||
</ol>
|
||||
<!-- <li><a href="">»</a></li> -->
|
||||
</ol>
|
||||
|
||||
<div class="firstLast">
|
||||
<span class="first">First</span>
|
||||
<span class="last">Last</span>
|
||||
</div>
|
||||
<div class="firstLast">
|
||||
<span class="first">First</span>
|
||||
<span class="last">Last</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="map" id="map">
|
||||
<div class="map" id="map">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
from django.conf.urls.defaults import *
|
||||
from os.path import join
|
||||
import settings
|
||||
|
||||
# Uncomment the next two lines to enable the admin:
|
||||
from django.contrib import admin
|
||||
|
@ -17,3 +19,12 @@ urlpatterns = patterns('',
|
|||
# Uncomment the next line to enable the admin:
|
||||
(r'^admin/', include(admin.site.urls)),
|
||||
)
|
||||
|
||||
if settings.LOCAL_DEVELOPMENT:
|
||||
#
|
||||
urlpatterns += patterns('',
|
||||
#
|
||||
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': join(settings.PROJECT_ROOT, "static")}),
|
||||
#
|
||||
)
|
||||
|
||||
|
|