Documentos de Académico
Documentos de Profesional
Documentos de Cultura
consulting
submit
Objetivos
@asullom>Configuracin
CODEADORES WINDOWS
https://t.co/0FIcp9Z4JT
1. Instalacin de Sublime Text2 2. Instalacin de Xampp con los servicios de mysql como mnimo, necesario solo si va usar MySQL5.x
http://es.scribd.com/doc/144084648/Devteam-config-codigo-previos-pdf
3. Instalacin de Django1.5.1 con Python2.7.4 4. Activacin de mdulo admin/ de django con MySQL 5. CRUD mediante admin/ de Django 6. CRUD personalizado (WebDev Professional with Dj_1_5_1) 7. Instalacin de Django1.5.1 con Python3.3.1 (TODO Error MySQLdb)
3.1. Instale python 3.2. Instale easy_install y pip 3.3. Instale Django 1.5.1 3.4. Cree el proyecto reune en d:\dev\apps-curso\ 3.5. Agregue la aplicacin clases 3.6. Instalacin del API para la conexin a MySQL
Pgina de python
@asullom>Configuracin
@asullom>Configuracin
Python instalado
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
Instale setuptools-0.6c11.win32-py2.7.exe
@asullom>Configuracin
Instalacin de pip
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
Ejecute
python manage.py runserver
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
Instalacin de MySQL-python-1.2.4.win32-py2.7.exe
@asullom>Configuracin
Repaso
Crear el proyecto reune d:\dev\apps-curso>django-admin.py startproject reune d:\dev\apps-curso>cd reune d:\dev\apps-curso\reune>dir reune{__init__.py,settings.py,urls.py,wsgi.py} manage.py Crear la app clases dentro de reune d:\dev\apps-curso\reune>python manage.py startapp clases d:\dev\apps-curso\reune>cd clases d:\dev\apps-curso\reune\clases>dir clases{__init__.py,models.py,tests.py,views.py}} d:\dev\apps-curso\reune\clases>cd.. d:\dev\apps-curso\reune>python manage.py syncdb d:\dev\apps-curso\reune>python manage.py runserver NOTA: Para el proyecto x, seguir la configuracin indicado en la nube de GitHub
@asullom>Configuracin
@asullom>Configuracin
Pasito1
@asullom>Configuracin
Pasito2
@asullom>Configuracin
Pasito3
@asullom>Configuracin
Listo, solo falta ver los resultados d:\dev\apps-curso> python manage.py syncdb d:\dev\apps-curso> python manage.py runserver
@asullom>Configuracin
@asullom>Configuracin
params>Diagrama de entidades
class params
Locality LocalityType name: Char 0..* name: Char location: Text utm: Char msnm: Float is_active: Boolean registered_at: DateTime modified_in: DateTime
+locality_type 1
Primero, crear la app params dentro de reune, vuelva a la consola d:\dev\apps-curso\reune>python manage.py startapp params
@asullom>Configuracin
Edite params/models.py
# _*_ coding: utf-8 _*_ from django.db import models #Se crea el modelo tipos de localidades class LocalityType(models.Model): name = models.CharField(max_length=50) def __unicode__(self): return self.name #Se crea el modelo para las localidades class Locality(models.Model): name = models.CharField(max_length=50) location = models.TextField() utm = models.CharField(max_length=50, null=True, blank=True) msnm = models.FloatField() is_active = models.BooleanField(default=True) registered_at = models.DateTimeField(auto_now_add=True) modified_in = models.DateTimeField(auto_now=True) locality_type = models.ForeignKey(LocalityType) def __unicode__(self): return "%s %s" % (self.name, self.location)
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
6. CRUD PERSONALIZADO
cursos>Diagrama de entidades
class cursos
Primero, crear la app cursos dentro de reune, vuelva a la consola d:\dev\apps-curso\reune>python manage.py startapp cursos
@asullom>Configuracin
import os
STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. os.path.join(os.path.dirname(os.path.dirname(__file__)),'static'), ) TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. os.path.join(os.path.dirname(os.path.dirname(__file__)),'templates'), )
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # mis apps: 'params', 'cursos', 'mod_config.params', # Uncomment the next line to enable the admin: 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', )
@asullom>Configuracin
body { padding: 50px; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } a{ color: #00B7FF; }
@asullom>Configuracin
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{% block title %} Base {% endblock %}</title> <link rel="stylesheet" href="{{ STATIC_URL }}css/style.css"> </head> <body> <header> <h1>Webapp <span>Python</span></h1> <p> <a href="{% url 'curso_list' %}">Mostrar</a> <a href="{ % url 'curso_add' %}">Agregar</a> </p> </header> {% block content %}{% endblock content %} </body> </html>
@asullom>Configuracin
Edite params/models.py
# _*_ coding: utf-8 _*_ from django.db import models from params.models import Locality #Se crea el modelo para los cursos class Curso(models.Model): nombre = models.CharField(max_length=50) url = models.CharField(max_length=50, null=True, blank=True) registered_at = models.DateTimeField(auto_now_add=True) modified_in = models.DateTimeField(auto_now=True) locality = models.ForeignKey(Locality) def __unicode__(self): return "%s %s" % (self.nombre, self.locality.name)
@asullom>Configuracin
url(r'^cursos/', include('cursos.urls')),
@asullom>Configuracin
from django.conf.urls import patterns, include, url urlpatterns = patterns('cursos.views', url(r'^$', 'index', name="index"), #url(r'^curso_list/', 'curso_list', name="curso_list"), #url(r'^curso_add/', 'curso_add', name="curso_add"), #url(r'^curso_upd/(?P<id>.*)/$', 'curso_upd', name="curso_upd"), #url(r'^curso_del/(?P<id>.*)/$', 'curso_del', name="curso_del"), )
@asullom>Configuracin
# _*_ coding: utf-8 _*_ from django.http import HttpResponse,HttpResponseRedirect from django.template import Context from django.shortcuts import render_to_response from django.template.context import RequestContext from params.models import Locality from cursos.models import Curso #from cursos.forms import CursoAddForm, CursoUpdForm def index(request): return HttpResponse("Hola django")
@asullom>Configuracin
LISTAR
@asullom>Configuracin
def curso_list(request): curso_list = Curso.objects.all().order_by('-id'); ctx={'curso_list':curso_list} return render_to_response("cursos/curso/index.html", ctx, context_instance = RequestContext(request))
@asullom>Configuracin
{% extends "base.html" %} {% block title %} Trabajar con cursos {% endblock %} {% block content %} {% for d in curso_list %} {{ d.nombre }} <a href="{ % url 'curso_upd' d.id %}">Actualizar</a> | <a href="{ % url 'curso_del' d.id %}">Eliminar</a> <br> {% empty %} An no hay registros {% endfor %} {% endblock content %} @asullom>Configuracin
AGREGAR
@asullom>Configuracin
# -*- coding: utf-8 -*from django import forms from django.forms import ModelForm from params.models import Locality from cursos.models import Curso class CursoAddForm(forms.Form): nombre = forms.CharField(widget = forms.TextInput(), required=True) locality = forms.ModelChoiceField(queryset=Locality.objects.all(), required=True, label="Locality") url = forms.CharField(widget = forms.TextInput(), label="URL", required=True)
@asullom>Configuracin
def curso_add(request): form = CursoAddForm if request.method == "POST": form = CursoAddForm(request.POST) if form.is_valid(): d = Curso(
@asullom>Configuracin
{% extends "base.html" %} {% block title %} Add curso {% endblock %} {% block content %} <h3>Add curso</h3> <form action="" method ="POST"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Agregar"> </form> {% endblock content %}
@asullom>Configuracin
Active el link
@asullom>Configuracin
ACTUALIZAR
@asullom>Configuracin
class CursoUpdForm(ModelForm): class Meta: model = Curso #Campos que se mostraran fields = ('nombre','locality',) # exclude = ('url',)
@asullom>Configuracin
def curso_upd(request, id): d = Curso.objects.get(id=id) form = CursoUpdForm(instance=d) if request.method == "POST": form = CursoUpdForm(request.POST, instance=d) if form.is_valid(): form.save() return HttpResponseRedirect('/cursos/curso_list') ctx = {'form':form} return render_to_response('cursos/curso/upd.html', ctx , context_instance = RequestContext(request))
@asullom>Configuracin
{% extends "base.html" %} {% block title %} Actualizar curso {% endblock %} {% block content %} <h3>Actualizar curso</h3> <form action="" method ="POST"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Actualizar"> </form> {% endblock content %}
@asullom>Configuracin
Active el link
@asullom>Configuracin
ELIMINAR
@asullom>Configuracin
@asullom>Configuracin
Active el link
@asullom>Configuracin
@asullom>Configuracin
7.1. Instale python 3 7.2. Instale easy_install y pip 7.3. Instale Django 1.5.1 7.4. Cree la app reune en d:\dev\apps-curso\ 7.5. Agregue el mdulo clases 7.6. Instalacin del API para la conexin a MySQL
Pgina de python
@asullom>Configuracin
@asullom>Configuracin
Python instalado
@asullom>Configuracin
@asullom>Configuracin
(Para Pytho2.7 descargar easy_install (setuptools-0.6c11.win32-py2.7.exe) de https://pypi.python.org/pypi/setuptools ejecutar y pathearlo C:\Python27\Scripts Tambin ver gua: http://pythonhosted.org/distribute/easy_install.html)
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
Ejecute
python manage.py runserver
@asullom>Configuracin
@asullom>Configuracin
@asullom>Configuracin
CODEADORES MAC OS
CODEADORES LINUX