table of contents - home | argentina en python · pdf filepor esa razón son llamados...

177
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 Table of Contents Introducción ¿Cómo funciona Internet? Introducción a la línea de comandos Instalación de Python Editor de código Introducción a Python ¿Qué es Django? Instalación de Django ¡Tu primer proyecto en Django! Modelos en Django Administrador de Django ¡Desplegar! URLs en Django Vistas de Django - ¡Es hora de crear! Introducción a HTML ORM de Django (Querysets) Datos dinámicos en plantillas Plantillas de Django CSS – Hazlo bonito Extender plantillas Extiende tu aplicación Formularios en Django ¿Qué sigue? Instalación Instalación (chromebook) 1

Upload: phungtruc

Post on 04-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 1.1

    1.2

    1.3

    1.4

    1.5

    1.6

    1.7

    1.8

    1.9

    1.10

    1.11

    1.12

    1.13

    1.14

    1.15

    1.16

    1.17

    1.18

    1.19

    1.20

    1.21

    1.22

    1.23

    1.24

    1.25

    TableofContentsIntroduccin

    CmofuncionaInternet?

    Introduccinalalneadecomandos

    InstalacindePython

    Editordecdigo

    IntroduccinaPython

    QuesDjango?

    InstalacindeDjango

    TuprimerproyectoenDjango!

    ModelosenDjango

    AdministradordeDjango

    Desplegar!

    URLsenDjango

    VistasdeDjango-Eshoradecrear!

    IntroduccinaHTML

    ORMdeDjango(Querysets)

    Datosdinmicosenplantillas

    PlantillasdeDjango

    CSSHazlobonito

    Extenderplantillas

    Extiendetuaplicacin

    FormulariosenDjango

    Qusigue?

    Instalacin

    Instalacin(chromebook)

    1

  • TutorialdeDjangoGirls

    EstetrabajoestbajolalicenciainternacionalCreativeCommonsAttribution-ShareAlike4.0.Paraverunacopiadeestalicencia,visitaelsiguienteenlacehttps://creativecommons.org/licenses/by-sa/4.0/

    TranslationThistutorialhasbeentranslatedfromEnglishintoSpanishbyawonderfulgroupofvolunteers.SpecialthanksgoestoVictoriaMartinezdelaCruz,KevinMorales,JoshuaAranda,SilviaFrias,Leticia,AndreaGonzalez,AdrianManjarres,RodrigoCaicedo,MariaChavez,MarceloNicolasManso,RosaDurante,Moises,IsraelMartinezVargas,JuanCarlos_,N0890Dy,IvanYivoff,KhaterineCastellano,ErickNavarro,cyncyncyn,ZeroSoul13,ErickAguayo,ErnestoRico-Schmidt,MiguelLozano,osueboy,dynarro,GeraldinaGarciaAlvarezandManuelKaufmann.

    IntroduccinAlgunavezhassentidoqueelmundoserelacionacadavezmsalatecnologaydealgunamaneratehasquedadoatrs?Algunaveztehaspreguntadocmocrearunsitiowebperonuncahastenidolasuficientemotivacinparaempezar?Haspensadoalgunavezqueelmundodelsoftwareesdemasiadocomplicadoparaticomoparaintentarhaceralgoportucuenta?

    Bueno,tenemosbuenasnoticiasparati!Programarnoestandifcilcomopareceyqueremosmostrartelodivertidopuedellegaraser.

    Estetutorialnoteconvertirenprogramadoraporartedemagia.Squieresserbuenaenesto,necesitarsmesesoinclusoaosdeaprendizajeyprctica.Sinembargoqueremosmostrartequeprogramarocrearsitioswebnoestancomplicadocomoparece.Intentaremosexplicarpequeasparteslomejorquepodamos,deformaquenotesientasintimidadaporlatecnologa.

    Esperamospoderhacerteamarlatecnologatantocomonosotras!

    Introduccin

    2

    https://gitter.im/DjangoGirls/tutorial?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badgehttps://creativecommons.org/licenses/by-sa/4.0/

  • Quaprendersconestetutorial?Cuandotermineseltutorial,tendrsunaaplicacinwebsimpleyfuncional:tupropioblog.Temostraremoscomoponerlaenlnea,asotrospodrnvertutrabajo!

    Sever(msomenos)comosta:

    Siestssiguiendoestetutorialportucuentaynotienesanadiequeteayudeencasodesurgiralgnproblema,tenemosunchatparati: .Hemospedidoanuestrostutoresyparticipantesanterioresqueestnahdevezencuandoparaayudaraotrasconeltutorial!Notemasdejartuspreguntasall!

    Bien,empecemosporelprincipio...

    Sobrenosotrasycmocontribuir

    Introduccin

    3

    https://gitter.im/DjangoGirls/tutorial?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badgehttps://djangogirls.org/https://github.com/DjangoGirls/tutorial/blob/master/README.md

  • EstetutoriallomantieneDjangoGirls.Siencuentrasalgnerroroquieresactualizareltutorial,porfavorsiguelaguadecmocontribuir.

    Tegustaraayudarnosatraducireltutorialaotrosidiomas?Actualmente,lastraduccionessellevanacabosobrelaplataformacrowdin.comen:

    https://crowdin.com/project/django-girls-tutorial

    Situidiomanoestalistadoencrowdin,porfavorabreunnuevoproblemainformandoelidiomaaspodemosagregarlo.

    Introduccin

    4

    https://crowdin.com/project/django-girls-tutorialhttps://github.com/DjangoGirls/tutorial/issues/new

  • CmofuncionaInternet?Paraloslectoresencasa:estecaptuloestcubiertoenelvideoHowtheInternetWorks(enIngls).

    Estecapituloestinspiradoporlacharla"HowtheInternetworks"deJessicaMcKellar(http://web.mit.edu/jesstess/www/).

    ApostamosqueutilizasInternettodoslosdas.Pero,sabesloquepasacuandoescribesunadireccincomohttps://djangogirls.orgentunavegadorypresionas'Enter'?

    Loprimeroquetienesqueentenderesqueunsitiowebesslounmontndearchivosguardadosenundiscoduro.Aligualquetuspelculas,msicaofotos.Sinembargo,lossitioswebposeenunapeculiaridad:incluyenuncdigoinformticollamadoHTML.

    Sinoestsfamiliarizadaconlaprogramacin,puedeserdifcildecaptarHTMLalaprimera,perotusnavegadoresweb(comoChrome,Safari,Firefox,etc.)loaman.Losnavegadoresestndiseadosparaentenderestecdigo,seguirsusinstruccionesypresentarestosarchivosdeloscualesesthechotusitioweb,exactamentedelaformaquequieres.

    Comocualquierotroarchivo,tenemosqueguardarlosarchivosHTMLenalgnlugardeundiscoduro.ParaInternet,usamoscomputadorasespecialesypoderosasllamadasservidores.Estosnotienenunapantalla,ratnoteclado,debidoaquesupropsitoesalmacenardatosyservirlos.Poresaraznsonllamadosservidores--porqueellossirvenlosdatos.

    Ok,quizstepreguntescmoluceInternet,cierto?

    Tehemoshechounaimagen!Lucealgoas:

    CmofuncionaInternet?

    5

    https://www.youtube.com/watch?v=oM9yAA09wdchttp://web.mit.edu/jesstess/www/https://djangogirls.org

  • Pareceunlo,no?Enrealidadesunareddemquinasconectadas(losmencionadosservidores).Cientosdemilesdemquinas!Muchos,muchoskilmetrosdecablesalrededordelmundo!PuedesvisitarelsitiowebSubmarineCableMap(http://submarinecablemap.com/)yverlocomplicadaqueeslared.Aquhayunacapturadepantalladelapginaweb:

    CmofuncionaInternet?

    6

    http://submarinecablemap.com/

  • Esfascinante,no?Pero,obviamente,noesposibleteneruncableentrecadamquinaconectadaaInternet.Asque,parallegaraunamquina(porejemplolaquealojaahttps://djangogirls.org)tenemosquepasarunasolicitudatravsdemuchasmquinasdiferentes.

    Separeceaesto:

    Imaginaquecuandoescribeshttp://djangogirls.org,estasenviandounacartaquedice:"QueridasDjangoGirls,megustaraversusitiowebdjangogirls.org.Porfavor,envenmelo!"

    Tucartavahacialaoficinadecorreomscercana.Luegovaaotraqueesunpocomscercadesudestinatario,luegootrayotrahastaqueesentregadaasudestino.Lanicacosadiferenteesquesienvasmuchascartas(paquetesdedatos)almismolugar,cadaunapodrairatravsdeoficinasdecorreostotalmentedistintas(routers).Estodependedecmosedistribuyenencadaoficina.

    CmofuncionaInternet?

    7

    https://djangogirls.orghttp://djangogirls.org

  • S,estansimplecomoeso.Enviarmensajesyesperaralgunarespuesta.Porsupuesto,envezdepapelylapicerausasbytesdedatos,perolaideaeslamisma!

    Enlugardedireccionesconelnombredelacalle,ciudad,cdigopostalynombredelpas,utilizamosdireccionesIP.TucomputadorapideprimeroelDNS(DomainNameSystem-enespaol,SistemadeNombresdeDominio)paratraducirdjangogirls.orgaunadireccinIP.Funcionacomolosviejosdirectoriostelefnicosdondepuedesbuscarelnombredelapersonaquesedeseascontactaryestenosmuestrasunmerodetelfonoydireccin.

    Cuandoenvasunacarta,stanecesitatenerciertascaractersticasparaserentregadacorrectamente:unadireccin,sello,etc.Tambinutilizasunlenguajequeelreceptorpuedaentender,cierto?Lomismosucedeconlospaquetesdedatosqueenvasparaverunsitioweb:utilizasunprotocolollamadoHTTP(HypertextTransferProtocol-enespaol,ProtocolodeTransferenciadeHipertexto).

    Asque,bsicamente,cuandotienesunsitiowebnecesitastenerunservidor(lamquina)dondevive.Cuandoelservidorrecibeunapeticinentrante(enunacarta),esteenvasusitiodeInternet(enotracarta).

    PuestoqueesteesuntutorialdeDjango,segurotepreguntarsquesloquehaceDjango.Bueno,cuandoenvasunarespuesta,nosiemprequieresenviarlomismoatodoelmundo.Esmuchomejorsituscartassonpersonalizadas,especialmenteparala

    CmofuncionaInternet?

    8

  • personaqueacabadeescribir,cierto?Djangonosayudaconlacreacindeestascartaspersonalizadas:).

    Bastadecharlas,pongamosmanosalaobra!

    CmofuncionaInternet?

    9

  • IntroduccinalainterfazdelneadecomandosParaloslectoresencasa:estecaptuloestcubiertoenelvideoYournewfriend:CommandLine(enIngls).

    Esemocionante,verdad?Vasaescribirtuprimeralneadecdigoenpocosminutos:)

    Permtenospresentarteatuprimernuevoamigo:lalneadecomandos!

    Lossiguientespasostemostrarncmousaraquellaventananegraquetodosloshackersusan.Puedeparecerunpocoaterradoralprincipioperoessolounmensajeenpantallaqueesperaaqueledesrdenes.

    NotaTenencuentaquealolargodeestelibrousamoslostrminos'directorio'y'carpeta'indistintamenteperosonlamismacosa.

    Queslalneadecomandos?Laventanaquesellamageneralmentelalneadecomandosolainterfazdelneadecomandos,esunaaplicacinbasadaentextoparaver,manejarymanipulararchivosentucomputadora.AligualqueWindowsExploreroFinderenMac,perosinlainterfazgrfica.Otrosnombresparalalneadecomandosson:cmd,CLI,smbolodelsistema,consolaoterminal.

    AbrirlainterfazdelneadecomandosLoprimeroquedebemoshacerparaempezaraexperimentarconnuestrainterfazdelneadecomandosesabrirla.

    Opening:WindowsIralmenInicioTodoslosprogramasAccesoriosCommandPrompt

    Opening:OSXAplicacionesServiciosTerminal

    Opening:LinuxEstprobablementeenAplicacionesAccesoriosTerminal,peroesodependedetudistribucin.Sinoloencuentras,Googlealo:)

    Introduccinalalneadecomandos

    10

    https://www.youtube.com/watch?v=jvZLWhkzX-8

  • PromptAhoradeberasverunaventanablancaonegraqueestesperandotusrdenes.

    Prompt:OSXyLinuxSiestsenMacoLinux,probablementevers $,as:

    Terminal

    $

    Prompt:WindowsEnWindows,esunsignoas >,comoeste:

    Terminal

    >

    Cadacomandoserprecedidoporestesignoyunespacio,peronotienesqueescribirlo.Tucomputadoraloharporti:)

    Slounapequeanota:entucasopuedequehayaalgocomo C:\Users\ola>oOlas-MacBook-Air:~ola$antesdelpromptyesoestperfecto.Enestetutoriallosimplificaremoslomsposible.

    Lapartehastaeincluyendoel $oel >sellamalalneadecomandosoprompt