Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Django-minipub: a minimal publication control mixin
Django-minipub is a minimal publication control system for Django. I wrote this app in 2013/2014 and I've used it on several websites... However, I've never had the time to talk about it! Time to fix that oversight. -
Climbing up Branches
Today I pushed the latest Evennia development branch "wclient". This has a bunch of updates to how Evennia's webclient infrastructure works, by making all exchanged data be treated equal (instead of treating text separately from other types of client instructions).It also reworks the javascript client into a library that should be a lot easier to expand on and customize. The actual client GUI is still pretty rudimentary though, so I hope a user with more web development experience can take upon themselves to look it over for best practices. A much more detailed description of what is currently going on (including how to check out the latest for yourself) is found in this mailing list post. Enjoy! -
Using mysql load data infile with django
Using mysql load data infile with django -
Using Fabric to update a remote svn checkout with ssh public key authentication
Using Fabric to update a remote svn checkout with ssh public key authentication -
Allow squid/mod_wsgi to pass the HTTP_AUTHORIZATION header to Apache
Allow squid/mod_wsgi to pass the HTTP_AUTHORIZATION header to Apache -
Django "view-permissions" for related objects
Django "view-permissions" for related objects -
Nested resources in Tastypie
Nested resources in Tastypie -
Custom choices in Django admin
Custom choices in Django admin -
RestORM - The client side of REST
RestORM - The client side of REST -
Customizing Django startproject with templates
Customizing Django startproject with templates -
Django redirects with regular expressions
Django redirects with regular expressions -
Using jsPDF in Django templates to export as PDF
Using jsPDF in Django templates to export as PDF jsPDF is used to generate pdf files in client-side Javascript. You can find the links for jsPDF here and also you can find the link to project homepage. You've to include the scripting files/links in head section to work properly. Tip: We have to download the newest version of the library and include it in the HEAD or at the end of the BODY section. Example to run the script from local storage: In the HEAD section: <head> <script src="js/jspdf.js">script> head> (or) In the BODY section: <body> <script src="js/jspdf.js">script> <script src="js/main.js">script> body> After loading the scripts in HEAD/BODY section, now we can start using the jsPDF library. Lets start with some of basics of jsPDF to get the idea of using it in our applications: First let us discuss how to create a new document? It's simple as below mentioned: var doc = new jsPDF(orientation, unit, format, compress); The constructor can take several parameters. orientation - The default value of orientation is "portrait". We can set it to "landscape" if we want a different page orientation. unit - We can tell jsPDF in which units we want to work. Use on of the following: "pt" (points), … -
Creating Django App
Django: Django is a high-level Python Web framework that encourages rapid development. Install django in virtualenv to keep it safe from messing around with the other versions you may have. $ virtualenv env $ env/bin/activate $ pip install django If Django is installed, you can see the version of our installation by running following command $ python -c "import django; print(django.get_version())" otherwise you get an error “No module named django” Creating a Project: If this is your first time using Django, you’ll need to auto-generate code that establishes a Django Project A collection of settings, Including database configuration, Django-specific options and application-specific settings. With the following command: $ django-admin.py startproject myproject This will Create "myproject" directory in your current directory.The above command(startproject) creates myproject/ |- manage.py |- myproject/ |- __init__.py |- settings.py |- urls.py |- wsgi.py The outer "myproject/" root directory is where your project is stored. manage.py: It is automatically created in each Django project. manage.py is a thin wrapper around django-admin.py before delegating to django-admin.py.It puts your project’s package on sys.path,Sets the DJANGO_SETTINGS_MODULE … -
django Payu Payment gateway Integration
In this blog, we will see how to integrate Django and PayU Payment Gateway. To integrate with PayU, we have package called "django-payu" - a pluggable Django application. GitHub Repository: django-payu Documentaion: django-payu.readthedocs.org Install: $ pip install django-payu Integration Process: 1. To start the integartion process, you need test merchant account and test credit card credentials to have the experience of overall transaction flow. Once you create the account with PayU, they will provide SALT and KEY, we need this two credentials for the integration. NOTE: Here, you need to make the transaction request to the test-server and not on the production-server. Once you are ready and understood the entire payment flow, you can move to the production server. 2. To initialise the transaction, you need to generate a post request to the below urls with the parameters mentioned below For PayU Test Server: POST URL: https://test.payu.in/_payment For PayU Production (LIVE) Server: POST URL: https://secure.payu.in/_payment Parameters to be posted by Merchant to PayU in transaction request are: key (Mandatory), txnid (Mandatory), amount(Mandatory), productinfo(Mandatory), firstname(Mandatory), email (Mandatory), phone (Mandatory), lastname, udf1-udf5, address1, address2, city, state, country, zipcode, surl(Mandatory), furl(Mandatory), curl(Mandatory), hash(Checksum)(Mandatory): sha512(key|txnid|amount|productinfo|firstname|email| udf1|udf2|udf3|udf4|udf5||||||SALT) NOTE: udf : User defined field … -
Django Haystack and Elasticsearch- part two
Hello! This is the second part of Django Haystack and Elasticsearch series. First you can find here. Now it's time to install and elasticsearch. On ubuntu you can do it as follows: 1.First install java-8 $ sudo apt-get install python-software-properties -y $ sudo add-apt-repository ppa:webupd8team/java -y $ sudo apt-get update $ sudo apt-get install oracle-java8-installer -y 2.Verify if it's properly installed $ java -version java version "1.8.0_72" Java(TM) SE Runtime Environment (build 1.8.0_72-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode) 3.Now install elasticsearch itself $ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - $ echo "deb http://packages.elastic.co/elasticsearch/1.7.5/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list $ sudo apt-get update && sudo apt-get install elasticsearch -y $ sudo service elasticsearch start 4.Verify if elasticsearch is running $ curl http://localhost:9200 { "status" : 200, "name" : "May \"Mayday\" Parker", "cluster_name" : "elasticsearch", "version" : { "number" : "1.7.5", "build_hash" : "00f95f4ffca6de89d68b7ccaf80d148f1f70e4d4", "build_timestamp" : "2016-02-02T09:55:30Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" } Now it's time to install to more python packages: $ pip install django-haystack==2.4.1 $ pip install elasticsearch After adding them to INSTALLED_APPS: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'haystack', … -
Django Haystack and Elasticsearch- part two
Hello! This is the second part of Django Haystack and Elasticsearch series. First you can find here. Now it's time to install and elasticsearch. On ubuntu you can do it as follows: 1.First install java-8 $ sudo apt-get install python-software-properties -y $ sudo add-apt-repository ppa:webupd8team/java -y $ sudo apt-get update $ sudo apt-get install oracle-java8-installer -y 2.Verify if it's properly installed $ java -version java version "1.8.0_72" Java(TM) SE Runtime Environment (build 1.8.0_72-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode) 3.Now install elasticsearch itself $ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - $ echo "deb http://packages.elastic.co/elasticsearch/1.7.5/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list $ sudo apt-get update && sudo apt-get install elasticsearch -y $ sudo service elasticsearch start 4.Verify if elasticsearch is running $ curl http://localhost:9200 { "status" : 200, "name" : "May \"Mayday\" Parker", "cluster_name" : "elasticsearch", "version" : { "number" : "1.7.5", "build_hash" : "00f95f4ffca6de89d68b7ccaf80d148f1f70e4d4", "build_timestamp" : "2016-02-02T09:55:30Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search" } Now it's time to install to more python packages: $ pip install django-haystack==2.4.1 $ pip install elasticsearch After adding them to INSTALLED_APPS: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'haystack', … -
Django Haystack and Elasticsearch- part two
Second part of tutorial about django haystack with elasticsearch. -
CSV Files - Read and Create
CSV files seem to be what some companies live by. Because of that we need to know how to work with them. In this video learn the basics of using csv reader, writer, DictReader, and DictWriterWatch Now... -
Special Offer for the Readers of DjangoTricks Blog
Packt Publishing, the company that published my Django book, has a special offer for enthusiast and professional developers reading this blog. For two weeks you can get the eBook "Web Development with Django Cookbook - Second Edition" for half price. The eBook is available in PDF, ePub, Mobi, and Kindle formats. Also you will get access to download the related code files. Use the discount code DJGTRK50 at the Packt Publishing bookstore.The discount is valid until the 24th of February, 2016. -
Just one comma
In Django, if you say managed = False in a model's Meta, you tell Django not to touch the database table. So: no automatic database migrations, for instance. Now, what is the problem if you have managed = False, and Django does do migrations? Some of you will have seen the error already. The comma after False is the problem: >>> a = False, >>> a (False,) >>> bool(a) True The comma turns it into a tuple. And a non-empty tuple evaluates to True! I found it quite funny. My colleague was torn between "extremely relieved" and "extremely annoyed" :-) -
Wagtail and Streamfields
Django was always great for developers out of the box, but creating friendly admin interfaces was always a little too much work. This post explains why I now consider using Wagtail to make this task easier. -
Wagtail and Streamfields
Django was always great for developers out of the box, but creating friendly admin interfaces was always a little too much work. This post explains why I now consider using Wagtail to make this task easier. -
Wagtail and Streamfields
Django was always great for developers out of the box, but creating friendly admin interfaces was always a little too much work. This post explains why I now consider using Wagtail to make this task easier. -
Fresh Book for Developers Working with Django 1.8
This week the post office delivered a package that made me very satisfied. It was a box with three paper versions of my "Web Development with Django Cookbook - Second Edition". The book was published at the end of January after months of hard, but fulfilling work in the late evenings and on weekends. The first Django Cookbook was dealing with Django 1.6. Unfortunately, the support for that version is over. So it made sense to write an update for a newer Django version. The second edition was adapted for Django 1.8 which has a long-term support until April 2018 or later. This edition introduces new features added to Django 1.7 and Django 1.8, such as database migrations, QuerySet expressions, or System Check Framework. Most concepts in this new book should also be working with Django 1.9. My top 5 favourite new recipes are these: Configuring settings for development, testing, staging, and production environments Using database query expressions Implementing a multilingual search with Haystack Testing pages with Selenium Releasing a reusable Django app The book is worth reading for any Django developer, but will be best understood by those who already know the basics of web development with Django. You … -
Django Haystack and Elasticsearch- part one
Hello! Today blog post is about Django Haystack and how to integrate it quickly with Elasticsearch. First after creating django project (At beginning of 2016 django-haystack don't work properly with django 1.9 so I used 1.8.9 version) and making new app let's add models: from django.db import models GENDER_CHOICES = ( ('Male', 'Male'), ('Female', 'Female') ) class Person(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) gender = models.CharField(max_length=10, choices=GENDER_CHOICES) email = models.CharField(max_length=100) ip_address = models.CharField(max_length=100) def __str__(self): return '{first_name} {last_name}'.format(first_name=self.first_name, last_name=self.last_name) And register model to the admin site. Don't forget about adding created app to settings.py and making manage.py makemigrations and manage.py migrate after it: from django.contrib import admin from .models import Person admin.site.register(Person) Then create simple script wich will load a data from JSON to the database. This JSON data is randomly generated data from this webpage. Call it load.py and place in your django application folder. # coding=utf-8 import os import json from .models import Person DATA_FILE = os.path.join( os.path.dirname( os.path.dirname( os.path.dirname(__file__))), 'MOCK_DATA.json' ) def run(verbose=True): with open(DATA_FILE) as data_file: data = json.load(data_file) for record in data: Person.objects.create( first_name=record['first_name'], last_name=record['last_name'], gender=record['gender'], email=record['email'], ip_address=record['ip_address']) print(record) This script looks for file MOCK_DATA.json. Then based on fields on this JSON loads data …