Python

join SQLAlchemy

Eg : 1

        query = Session.query(Person)
        
        query = query.join(Address, Address.person_id == Person.id)
        
        query = query.filter(Address.city == "abccity")
        
        c.j2 = query.all()

Eg : 2

 

c.jo = Session.query(Address.city, Person.name).filter(Address.person_id==Person.id).all()
By bm on September 12, 2014 | pylon, SQLAlchemy | A comment?

model example SQLAlchemy

"""Person model"""
from sqlalchemy import Column
from sqlalchemy.types import Integer, String

from pylontutor.model.meta import Base

class Person(Base):
    __tablename__ = "person"

    id = Column(Integer, primary_key=True)
    name = Column(String(100))
    email = Column(String(100))

    def __init__(self, name='', email=''):
        self.name = name
        self.email = email

    def __repr__(self):
        return "<Person('%s')" % self.name
By bm on | pylon, SQLAlchemy | A comment?

Django connecting with mysql database

step 1

we need to install mysql module

pip install PyMySQL

step 2

configure mysql in settings.py

eg:-1

# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'pypaywheel',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': '192.168.1.174',
        'PORT': '',
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}

eg:-2

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoblog',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '',
        'OPTIONS': {'charset': 'utf8mb4'},
    }
}
By bm on July 8, 2014 | Python Django | A comment?
Tags:

Django createing common static folder

settings.py

STATICFILES_DIRS = [
    BASE_DIR+"/pypayw/static/",
]

templet

{% load staticfiles %}

<head>
   <title>{% block title %}My amazing site{% endblock %}</title>
   <link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css">
   <script src="{{ STATIC_URL }}js/jquery-2.1.1.min.js"></script>
   
</head>
By bm on | Python Django | A comment?

Django accessing request object in template

Settings.py

#for accessing request objext in templet

TEMPLATE_CONTEXT_PROCESSORS = (
#default settings 
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",

#custome settings for loding request in templet
"django.core.context_processors.request",
)



templet

{{ request.user.first_name }} {{request.user.last_name}}


eg

{% if request.user.username %}

Hi {{ request.user.first_name }} {{request.user.last_name}} (<a href="/logout">Logout</a>)

{% else %}
 
<a href="/login">Login</a> 

{% endif %}

By bm on | Python Django | 1 comment

Django Log configuration in settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'null': {
            'level':'DEBUG',
            'class':'django.utils.log.NullHandler',
        },
        'logfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename':  BASE_DIR+"/debug.log",
            'maxBytes': 50000,
            'backupCount': 2,
            'formatter': 'standard',
        },
        'console':{
            'level':'INFO',
            'class':'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    'loggers': {
        'django': {
            'handlers':['console'],
            'propagate': True,
            'level':'WARN',
        },
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False,
        },

        'appName': {
            'handlers': ['console', 'logfile'],
            'level': 'DEBUG',
        },



    }
}



-----------

import logging

# Get an instance of a logger
log = logging.getLogger(__name__)
    

    log.debug("Hey there it works!!")
    log.info("Hey there it works!!")
    log.warn("Hey there it works!!")
    log.error("Hey there it works!!")

By bm on | Python Django | A comment?