You are on page 1of 11

OPTATIVA III

SITIO WEB DE ALQUILER DE VEHCULOS


AUTO RENT

2 DE JUNIO DE 2016
HILDA ANABEL CHIMBOLEMA CHAFLA
SPD 20-21

OPTATIVA III
CREACIN DE UN SITIO WEB EN DJANGO
1. Crear un sitio web usando Django:
Debe crear un proyecto que al menos tenga una aplicacin.
Debe tener en modelos mnimo dos tablas relacionadas.
Las tablas deben aparecer en el Mdulo ADMIN.
Una vista index para la pgina principal.
2. Cdigo fuente del proyecto.
Cdigo fuente del archivo base.html (index)
{% load staticfiles %}
<!DOCTYPE HTML PUBLIC" //W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<title>{% block title %} Sitio Web Alquiler de Vehiculos{% endblock %}</title>
{% block content %}
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Car Dealers Template</title>
<link href="{% static "style/style.css" %}" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="outer">
<div id="logo-bg">
<h1>Auto Rent S.A </h1>
<span class="tag">Ms rpido y ms barato</span>
</div>
<div id="business"></div>
<div class="clear"></div>
<div id="bg">
<div class="toplinks"><a href='/index'>Inicio</a></div><div class="sap">|</div>

<div class="toplinks"><a href='/reservacion'>Reservaciones</a></div><div


class="sap">|</div>
<div class="toplinks"><a href='/vehiculos'>Vehiculos</a></div><div
class="sap">|</div>
<div class="toplinks"><a href="/contactos">Contactos</a></div>
</div>
</head>
<body bgcolor="#A4A4A4">
<div class="clear"></div>
<div id="outer2"><div class="inner_copy"></div>
<div id="left-nav">
<h2>Vehiculos</h2>
<div id="showcase">
<div class="stxt-bg">
<h3>Hyundai Accent 5 Puertas</h3>
<div class="smaltext"><a href="#"><img src={% static
"images/carro1.jpg" %} alt="" width="150" height="95" border="0"/></a>
<div class="clear"></div>Kilometraje Limitado Da
$50.00 Semana $304.00 Kilometraje Libre Da $55.00 Semana $334.00</div>
<div style="clear:right; height:25px;">
<span class="read-more"><a href="#">Read More</a></span></div>
</div>
</div>
<div id="showcase">
<div class="stxt-bg">
<h3>Chevrolet Grand Vitara SZ</h3>
<div class="smaltext">
<a href="#"><img src={% static "images/images.jpg" %}
alt="" width="150" height="95" border="0"/></a><br/>
Kilometraje Limitado Da $80.00 Semana $484.00
Kilometraje Libre Da $90.00 Semana $544.00

</div>
<div style="clear:right; height:25px;"><span class="readmore"><a href="#">Read More</a></span></div>
</div>
</div>
<div id="showcase">
<div class="stxt-bg">
<h3>Crevrolet Aveo</h3>
<div class="smaltext"><a href="#"><img src= {% static "images/carro2.jpg" %} alt="" width="150"
height="95" border="0"/></a>
<div class="clear"></div>Kilometraje Limitado Da $50.00 Semana $304.00 Kilometraje Libre
Da $55.00 Semana $334.00</div>
<div style="clear:right; height:25px;">
<span class="read-more"><a href="#">Read More</a></span></div>
</div>
</div>
</div>
<div id="content">
<h2>Seguros, Confiables y al mejor precio</h2>
<div id="main">
Ponemos a tu disposicin el modelo de vehiculo que requieres para tu trabajo, vacaciones o
negocios, nuestros vehiculos estn equipados con rastreo satelital y GPS, contamos con planes de
kilometraje limitado o libre con o sin chofer. Para tu mayor comodidad atendemos las 24 horas, los
365 das del ao.
Si te encuentras de viaje, disfruta de tu estadia en Quito y recorre todos los rincones del
Ecuador con la flota de vehculos ms segura y confiable del mercado.
<h4>Excelentes descuentos y promociones</h4>
<a href="#"><img src={% static "images/evento.jpg" %} alt="" width="150" height="95"
border="0"/></a>Tarifas incluyen seguro e impuestos.<br>
Tarifas especiales por semana y por mes.<br>
Alquila cualquier vehculo de nuestra flota por 6 das y maneja 7 das. <span class="readmore"><a href="#">Read More</a></span></p>

<div class="clear"></div>
<h4>Alquiler de autos de todas las marcas</h4>
<a href="#"><img src= {% static "images/alquiler.jpg" %} alt="" width="150" height="96"
border="0"/></a>Los mejores precios para alquiler de autos en Guayaquil Ecuador, seleccione la
categora y grupo de su inters para conocer los precios para el alquiler de los vehculos segn
sus caractersticas.<span class="read-more"><a href="#">Read More</a></span></p>
<div class="clear"></div>
<h2>Quienes somos</h2>
<p>AUTO RENT es una compaa rentadora de vehculos que le ofrece los ms variados modelos,
a los mejores precios del mercado, con la mejor atencin al cliente.
<span class="read-more"><a href="#">Read More</a></span></p>
<p>Servir a nuestro cliente con un trato deferente y personalizado, ofrecindole los
vehculos ms modernos, a los precios ms bajos del mercado es nuestra misin.<span class="readmore"><a href="#">Read More</a></span></p>
</div>
</div>
{% endblock %}

{% block footer%}
<div class="clear"></div>
</div>
<div class="clear"></div>
<div class="footer"><a href='/index'>Inicio</a></div>
<div class="footer"><a href="/reservacion">Reservaciones</a></div>
<div class="footer"><a href="/vehiculos">Vehiculos</a></div>
<div class="footer"><a href="/contactos">Contactos</a></div>
<div class="clear"></div>
<div id="footer"><div class="fleft">Copyright Statement</div><div class="fright">Para m&aacute;s
informaci&oacute;n <a href="http://www.servirent.com.ec/vehiculos.html" target="_blank">Auto Rent
</a>.</div><div class="fcenter">Deseado por: Hilda Chimbolema</div></div>
</div>
</div>

{% endblock %}
</body>
</html>

Cdigo fuente del archivo settings.py


import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)


BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '3$gfn2fc_vgnqzn2pj9#r$oqjok02^e76ay8=9ju_8d=5%-=#d'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'biblioteca',
]
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'ProyectoFinal.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(os.path.dirname(__file__), 'Templates').replace('\\','/'),],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

WSGI_APPLICATION = 'ProyectoFinal.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',

},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/1.9/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(os.path.dirname(__file__), 'static').replace('\\','/'),]
MEDIA_ROOT='media/'
MEDIA_URL='http://localhost:8000/media/'

Cdigo fuente del archivo url.py


from django.conf.urls import url
from django.contrib import admin
from ProyectoFinal.vistas import *
urlpatterns = [
url(r'^index/$', index),
url(r'^$', index),
url(r'^reservacion/$', reservacion),
url(r'^vehiculos/$', vehiculos),
url(r'^contactos/$', contactos),
]

Cdigo fuente del archivo views.py


from django.http import HttpResponse, Http404
from django.shortcuts import render
def index(request):
return render (request,'base.html')
def reservacion(request):
return render (request,'reservacion.html')
def vehiculos(request):
return render (request,'vehiculos.html')
def contactos(request):
return render (request,'contactos.html')

3. Cdigo fuente de la Aplicacin


Cdigo fuente del archivo models.py
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Vehiculo (models.Model):
matricula=models.CharField(max_length=30)
marca=models.CharField(max_length=50)
modelo=models.CharField(max_length=60)
fecha_compra=models.DateField()
precio_diario=models.CharField(max_length=50)
website=models.URLField()
def __str__(self):
return self.matricula
class Distribuidor (models.Model):
distribuidor=models.CharField(max_length=30)
direccion=models.CharField(max_length=40)
ciudad=models.CharField(max_length=40)
telefono=models.CharField(max_length=40)
email=models.EmailField()
class Alquiler (models.Model):
distribuidor=models.ForeignKey(Distribuidor)
matricula=models.ForeignKey(Vehiculo)
direccion=models.CharField(max_length=50)
ciudad=models.CharField(max_length=30)
telefono=models.DateField()
email=models.EmailField()
def __str__(self):
return self.distribuidor

Cdigo fuente del archivo views.py


from django.http import HttpResponse, Http404
from django.shortcuts import render
def index(request):
return render (request,'base.html')
def reservacion(request):
return render (request,'reservacion.html')
def vehiculos(request):
return render (request,'vehiculos.html')
def contactos(request):
return render (request,'contactos.html')

10