diff --git a/ProyectoWeb/README.md b/ProyectoWeb/README.md index 89b07f0..08596bc 100644 --- a/ProyectoWeb/README.md +++ b/ProyectoWeb/README.md @@ -1,173 +1,20 @@ -**Ejémplo estructura común página web** -``` -+---------------------------------------+ -| +------+ +-------------------+ | -| | Logo | | Menu | |<---- cont. estatico y dinamico -| +------+ +-------------------+ | -| | -| | -| +-------------------------------+ | -| | | | -| | | | -| | Zona de Carga | | -| | | | -| | de Contenido | |<---- cont. estatico y dinamico -| | | | -| | | | -| | | | -| +-------------------------------+ | -| | -| +-------------------------------+ | -| | Pie de página | | <---- rrss, contacto -| +-------------------------------+ | -+---------------------------------------+ -``` -El contenido a mostar en la zona de carga dependerá -de lo seleccionado en menú o pie de página. - -- Crear URLs y Vistas -- Crear Plantillas y herencias -- Manejar archivos externos -- Conf. panel de administración -- Conf. conexión a BBDD -- CRUD con BBDD -- Trabajo con formularios y envío de mails -- Depsliege - - -## Inicio ProyectoWeb -``` -django-admin startproject ProyectoWeb - -cd ProyectoWeb - -python3 manage.py startapp ProyectoWebApp - -# configuar settings.py (TimeZone, idioma, ip , mail, bd...) - -python3 manage.py runserver 192.168.0.4:8000' -``` - -### Menu: -- Home -- Servicios -- Tienda -- Blog -- Contacto -- *(admin)* - - -App/ -*views.py* -``` -from django.shortcuts import render, HttpResponse - -def home(request): - return HttpResponse("Inicio") - -def servicios(request): - return HttpResponse("Servicios") - -def tienda(request): - return HttpResponse("Tienda") - -def blog(request): - return HttpResponse("Blog") - -def contacto(request): - return HttpResponse("Contacto") -``` -Project/*urls.py* -``` -from django.contrib import admin -from django.urls import path -from ProyectoWebApp import views - -urlpatterns = [ - path('admin/', admin.site.urls), - path('', views.home, name="Inicio"), - path('servicios/', views.servicios, name ='Servicios'), - path('tienda/', views.tienda, name ='Tienda'), - path('blog/', views.blog, name ='Blog'), - path('contacto/', views.contacto, name='Contacto'), -] -``` - -*Como es común un proyecto se compone de varias Apps* -*Y una App puede ser reutilizada en otro proyecto* -*urls.py explica como organizar urls para manejar multiples Apps* - - -### Organizar URLs - -**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'))* - - -Project/*urls.py* -``` -from django.contrib import admin -from django.urls import path, include - - -urlpatterns = [ - path('admin/', admin.site.urls), - path('ProyectoWebApp/', include('ProyectoWebApp.urls')), -] -``` -**Para evitar tener que escribir misitio.com/ProyectoWebApp/home** -**Dejar '' en vez de 'Proyec...' en el path de ProyectoWeb/urls.py** - -### Crear urls.py en la carpeta de la aplicacion -*App/urls.py* -``` -from django.urls import path -from ProyectoWebApp import views - -urlpatterns = [ - path('', views.home, name="Inicio"), - path('servicios/', views.servicios, name ='Servicios'), - path('tienda/', views.tienda, name ='Tienda'), - path('blog/', views.blog, name ='Blog'), - path('contacto/', views.contacto, name='Contacto'), -] -``` - -## Crear Templates - -***ProyectoWebApp/templates/ProyectoWebApp/ por convención*** -inicio - servicios - tienda - blog - contacto - -### Registrar App -***Project/settings.py*** -``` -INSTALLED_APPS = [ - ... - 'ProyectoWebApp', -] -``` - -### Modificar vistas para html -App/*views.py* -``` -from django.shortcuts import render, HttpResponse - -def home(request): - return render(request, "ProyectoWebApp/home.html") - -def servicios(request): - return render(request, "ProyectoWebApp/servicios.html") - -def tienda(request): - return render(request, "ProyectoWebApp/tienda.html") - -def blog(request): - return render(request, "ProyectoWebApp/blog.html") - -def contacto(request): - return render(request, "ProyectoWebApp/contacto.html") -``` - +# 📚️ [Proyecto Web Completo](https://gitea.kickto.net/jp.av.dev/intro_Django/src/branch/master/ProyectoWeb) +## [Proyecto Web](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-proyecto-web) +- [Iniciar Proyecto Django](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-inicio-proyectoweb) +- [Creación Vistas](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-creaci%C3%B3n-de-las-vistas) +- [Registro de URLs](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-registro-de-urls) +- [Organizar URLs por App](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-organizar-urls-por-app) +- [Crear Templates](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-crear-templates) +- [Restrar App](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-registrar-app) +- [Registro Vistas html](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7a_Proyecto_Web_Completo#user-content-modificar-vistas-para-html) +## [Bootstrap y Herencia en la estructura del sitio](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo) +- [Formato del sitio con Bootstrap](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-dar-formato-al-sitio-con-bootstrap) +- [TAG {% load static %}](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-tag-load-static) +- [Herencia de Plantillas](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-herencia-de-plantillas-y-estructura-del-sitio) +- [Creación de plantilla base](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-creaci%C3%B3n-plantilla-base) +- [Barra de navegación, destacar sitio en visita](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-barra-de-navegacion-destacar-sitio-en-visita) +- [Creación App servicios](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-creacion-de-otra-app) +- [ORM Creación modelo](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-orm-object-relational-mapping) +- [Pillow, almacenar imagenes](https://gitea.kickto.net/jp.av.dev/intro_Django/wiki/7b_Proyecto_Web_Completo#user-content-para-usar-imagenes)