Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Why Use A DevOps Pipeline Diagram Generator To Visualize Optimization
DevOps, short for development and operations, is a hot topic in the technology sector. That is because optimizing DevOps pipelines is a crucial component of business strategies for many operations today. Recently, new tools have been made available online that make DevOps pipeline optimization much simpler for those professionals responsible for the job. These tools make it possible to create a DevOps process flow diagram that allows you to visualize your entire DevOps process. Find out the advantages of using a DevOps pipeline diagram generator in the post below. The post Why Use A DevOps Pipeline Diagram Generator To Visualize Optimization appeared first on Distillery. -
Why Use A DevOps Pipeline Diagram Generator To Visualize Optimization
DevOps, short for development and operations, is a hot topic in the technology sector. That is because optimizing DevOps pipelines is a crucial component of business strategies for many operations today. Recently, new tools have been made available online that make DevOps pipeline optimization much simpler for those professionals responsible for the job. These tools make it possible to create a DevOps process flow diagram that allows you to visualize your entire DevOps process. Find out the advantages of using a DevOps pipeline diagram generator in the post below. The post Why Use A DevOps Pipeline Diagram Generator To Visualize Optimization appeared first on Distillery. -
python django
Django Template LanguageThe template language as we explained earlier here we are going to learn more about template language Django template system is not simply python embedded into html this is by design the template system is meant to express presentation not programe logic the django template system provides tags which function similarly to some programming constructs an if tag for boolean tests a for tag for looping etc but these are not simply executed as the corresponding python code and the template system will not execute arbitrary python expressionsTemplatesA template is simply a text file it can generate any text base format (HTML,XML, CSV,etc)which contains variables which get replaced with values when the template is evaluated and tags which control the logic of the templateHere is an example{%extends "base_generic.html"%}{%block title %}{{section .title}}{%endblock%}{%block content%}<h1>{{section.title}}</h1>{%for story in story_list%}<h2><a href="{{story.get_absolute_url}}">{{story.headline|upper}}</a></h2><p>{{story.tease|truncatewords:"100"}}</p>{%endfor%}{%endblock%}VariablesVariables look like this {{variable}} when the template engine encounters a variable it evaluates that variable and replaces it with the result variable names consist of any combination of alphanumeric characters and the underscore ("_") but may not start with an underscore The dot (".") also appears in variable sections although that has a special meaning as indiacated below importantly but we cannot … -
React Basics Tutorial for Django Developers [2018]
In this tutorial, We'll introduce React basics to Django developers. You can use React to build UIs using re-usable components which allows maximum reusability and a virtual DOM that provides better performance. In this tutorial, we'll learn how to include React in a Django template and learn about the basics of React such as components, state and props. But what's virtual DOM? This is the definition from the official React website The virtual DOM (VDOM) is a programming concept where an ideal, or “virtual”, representation of a UI is kept in memory and synced with the “real” DOM by a library such as ReactDOM. This process is called reconciliation. React is nowadays-2018-the most popular front-end library for building User Interfaces. Throughout this tutorial we'll go through a basic understanding of React.js by creating a React application from scratch and step by step. We will focus on the core features of React. After getting the core concepts, you can dive into more learning more comfortably. By following this tutorial, you'll learn: How to get started with React using a <script> tag; How to include React in a Django template; What's a React component; How to create React components; How to use … -
Merging Django ORM with SQLAlchemy for Easier Data Analysis
Development of products with Django framework is usually easy and straightforward; great documentation, many tools out of the box, plenty of open source libraries and big community. Django ORM takes full control about SQL layer protecting you from mistakes, and underlying details of queries so you can spend more time on designing and building your application structure in Python code. However, sometimes such behavior may hurt - for example, when you’re building a project related to data analysis. Building advanced queries with Django is not very easy; it’s hard to read (in Python) and hard to understand what’s going on in SQL-level without logging or printing generated SQL queries somewhere. Moreover, such queries could not be efficient enough, so this will hit you back when you load more data into DB to play with. In one moment, you can find yourself doing too much raw SQL through Django cursor, and this is the moment when you should do a break and take a look on another interesting tool, which is placed right between ORM layer and the layer of raw SQL queries. As you can see from the title of the article, we successfully mixed Django ORM and SQLAlchemy Core … -
Distillery CEO Shares Voice Technology Insight on Forbes
If your business hasn’t started thinking about how it can integrate voice technology, it’s high time to begin. So asserts Distillery CEO and Founder Andrey Kudievskiy in his latest blog on Forbes, “Three Reasons Every Business Should Consider Voice Technology.” The post Distillery CEO Shares Voice Technology Insight on Forbes appeared first on Distillery. -
Distillery CEO Shares Voice Technology Insight on Forbes
If your business hasn’t started thinking about how it can integrate voice technology, it’s high time to begin. So asserts Distillery CEO and Founder Andrey Kudievskiy in his latest blog on Forbes, “Three Reasons Every Business Should Consider Voice Technology.” The post Distillery CEO Shares Voice Technology Insight on Forbes appeared first on Distillery. -
Using Electron with Flask and python-shell
In the previous tutorial, we've seen how to use Electron and python-shell to create Python apps with Electron GUIs. This opens the door for using the modern frontend web technologies, the Node.js and npm modules (the biggest open source repository in the world) and the Python libraries combined to create powerful applications. In this tutorial, we'll use Flask, a popular web framework for building web applications with Python, and Electron to build a desktop application with an Electron GUI. There are many benefits of combining Flask with Electron to build applications, such as: If you are running a Python/Flask web developer, you can use your existing skills to build cross platform desktop applications; If you already have an existing Flask application, you can easily target desktop apps without reinventing the wheel etc. What's Electron? We assume here that you are a Flask developer so an Electron introduction might be useful. Electron is a platform, created by GitHub, to enable developers to create cross-platform desktop applications for Windows, Linux and macOS using web technologies i.e JavaScript, HTML and CSS. Electron is based on Chromium, just like Chrome and Opera (and many browsers) so it's actually a web container. Electron also provides … -
How to Create Custom Django Management Commands
Django comes with a variety of command line utilities that can be either invoked using django-admin.py or the convenient manage.py script. A nice thing about it is that you can also add your own commands. Those management commands can be very handy when you need to interact with your application via command line using a terminal and it can also serve as an interface to execute cron jobs. In this tutorial you are going to learn how to code your own commands. Introduction Basic Example Handling Arguments Positional Arguments Optional Arguments Flag Arguments Arbitrary List of Arguments Styling Cron Job Further Reading Introduction Just before we get started, let’s take a moment to familiarize with Django’s command line interface. You are probably already familiar with commands like startproject, runserver or collectstatic. To see a complete list of commands you can run the command below: python manage.py help Output: Type 'manage.py help <subcommand>' for help on a specific subcommand. Available subcommands: [auth] changepassword createsuperuser [contenttypes] remove_stale_contenttypes [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver [sessions] clearsessions [staticfiles] collectstatic findstatic runserver We can create our own … -
Using Python with Electron Tutorial
In this tutorial, you'll learn to build GUIs for your Python applications using Electron and web technologies i.e HTML, CSS and JavaScript-this means taking advantage of the latest advancements in front-end web development to build desktop applications but also taking advantages of Python and the powerful libraries it has to easily implement advanced requirements. You can find the code in this GitHub repository. Electron Tutorial Electron allows you to develop desktop applications with web technologies such as JavaScript, HTML and CSS by providing a web container and a runtime with rich native cross-platform APIs. You could also think of it as a Node.js environment for desktop apps. Electron Applications Architecture In Electron, you have two types of processes; the Main and Renderer processes. The main process is the one that runs the main script in the package.json file. This script can create and display GUI windows, also many Electron APIs are only available from the main process. An Electron application has always only one main process. Electron makes use of the chromium browser to display web pages. Each web page runs on its own process called the renderer process. You could also think of Electron as a web browser but … -
Stop Using Executable Code Outside of Version Control
There's an anti-pattern in the development world, and it's for using executable code as a means to store configuration values. In the Python universe, you sometimes see things like this in settings modules: # Warning: This is an anti-pattern! try: from .local_settings import * except ImportError: pass What people do is have a local_settings.py file that has been identified in a .gitignore file. Therefore, for local development you have your project running through an executable code file outside of version control. If this sounds uncomfortable to you, then you are on the right track. Executable code always needs to be in version control. A better approach is to place secrets and keys into environment variables. If you don't like that, or can't use it due to your environment, stick those values into JSON, YAML, or TOML files. So what can happen if you allow the local_settings anti-pattern into your project? The local_settings anti-pattern The local_settings anti-pattern means that you can have executable code in production that usually can't be viewed by developers trying to debug problems. If you've ever experience it, this is one of the worst production debugging nightmares. It worked fine on my laptop! What works locally and … -
Why You Should Consider Adding Voice Technology to Your App
Voice technology is here to stay. We’ve invited smart speakers such as the Amazon Echo, Google Home, Sonos One, and Apple HomePod into our homes and our workplaces. We talk to Siri, Alexa, Cortana, and Google Assistant nearly as easily as we talk to real humans. The trends are clear: Consumers are embracing voice technology, and they’re excited about products and devices that incorporate voice-enabled capabilities. The post Why You Should Consider Adding Voice Technology to Your App appeared first on Distillery. -
Why You Should Consider Adding Voice Technology to Your App
Voice technology is here to stay. We’ve invited smart speakers such as the Amazon Echo, Google Home, Sonos One, and Apple HomePod into our homes and our workplaces. We talk to Siri, Alexa, Cortana, and Google Assistant nearly as easily as we talk to real humans. The trends are clear: Consumers are embracing voice technology, and they’re excited about products and devices that incorporate voice-enabled capabilities. The post Why You Should Consider Adding Voice Technology to Your App appeared first on Distillery. -
Inline building in upcoming Evennia 0.8
Evennia, the Python MUD-server game development kit, is slowly creeping closer to its 0.8 release.In our development branch I've just pushed the first version of the new OLC (OnLine Creator) system. This is a system to allow builders (who may have limited coding knowledge) to customize and spawn new in-game objects more easily without code access. It's started with the olc command in-game. This is a visual system for manipulating Evennia Prototypes.Briefly on PrototypesThe Prototype is an Evennia concept that has been around a good while. The prototype is a Python dictionary that holds specific keys with values representing properties on a game object. Here's an example of a simple prototype:{"key": "My house", "typeclass": "typeclasses.houses.MyHouse"} By passing this dict to the spawner, a new object named "My house" will be created. It will be set up with the given typeclass (a 'typeclass' is, in Evennia lingo, a Python class with a database backend). A prototype can specify all aspects of an in-game object - its attributes (like description and other game-specific properties), tags, aliases, location and so on. Prototypes also support inheritance - so you can expand on an existing template without having to add everything fresh every time. There … -
Distillery Makes the Inc. 5000 — for the Second Year in a Row!
We’re elated to announce that Distillery has again been honored on the Inc. 5000! The 2018 ranking, published August 15, revealed that Distillery’s growth is holding strong, earning us a place on the prestigious list for the second year running. (Last year marked Distillery’s impressive debut as a member of the lnc. 5000.) We couldn’t be more thrilled about the recognition, as it testifies to the fact that all our hard work, investments, and persistence over the past year are continuing to take our company in the right direction. The post Distillery Makes the Inc. 5000 — for the Second Year in a Row! appeared first on Distillery. -
Distillery Makes the Inc. 5000 — for the Second Year in a Row!
We’re elated to announce that Distillery has again been honored on the Inc. 5000! The 2018 ranking, published August 15, revealed that Distillery’s growth is holding strong, earning us a place on the prestigious list for the second year running. (Last year marked Distillery’s impressive debut as a member of the lnc. 5000.) We couldn’t be more thrilled about the recognition, as it testifies to the fact that all our hard work, investments, and persistence over the past year are continuing to take our company in the right direction. The post Distillery Makes the Inc. 5000 — for the Second Year in a Row! appeared first on Distillery. -
django-pipeline and Zopfli
tl;dr; I wrote my own extension to django-pipeline that uses Zopfli to create .gz files from static assets collected in Django. Here's the code. Nginx and Gzip What I wanted was to continue to use django-pipeline which does a great job of reading a settings.BUNDLES setting and generating things like /static/js/myapp.min.a206ec6bd8c7.js. It has configurable options to not just make those files but also generate /static/js/myapp.min.a206ec6bd8c7.js.gz which means that with gzip_static in Nginx, Nginx doesn't have to Gzip compress static files on-the-fly but can basically just read it from disk. Nginx doesn't care how the file got there but an immediate advantage of preparing the file on disk is that the compression can be higher (smaller .gz files). That means smaller responses to be sent to the client and less CPU work needed from Nginx. Your job is to set gzip_static on; in your Nginx config (per location) and make sure every compressable file exists on disk with the same name but with the .gz suffix. In other words, when the client does GET https://example.com/static/foo.js Nginx quickly does a read on the file system to see if there exists a ROOT/static/foo.js.gz and if so, return that. If the files doesn't exist, … -
JavaScript ES6 Tutorial for Django Developers
This JavaScript (ES6) tutorial is a part to a series of tutorials to teach Django developers front-end web development for creating modern full-stack applications. Before starting the tutorial for the new JavaScript/ES6 features, we will first learn how to include JavaScript in a Django project. There are two methods of integrating JavaScript with Django. Separate Django (back-end) and JavaScript(front-end) apps which is convenient for building JavaScript-heavy apps with a Django RESTful back-end Using JavaScript with Django built-in templates which is convenient for apps that don't need a complex JavaScript front-end We've previously covered how to use the first approach with React, Vue and Angular examples. In this tutorial, we'll focus on the second approach. We assume, you already have created a project. Check this tutorial if you need help! Let's start by creating a Django HTML base template for your application (base.html): <!DOCTYPE html> <html lang="en"> <head> {% block title %}<title>Django JavaScript ES6 Tutorial</title>{% endblock %} <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> {% block body %} {% endblock %} </body> </html> Adding JavaScript to Our Django Template We can add JavaScript to our template using an inline <script> tag or an external JavaScript file. Let's create a app.js … -
Django lock decorator with django-redis
Here's the code. It's quick-n-dirty but it works wonderfully: import functools import hashlib from django.core.cache import cache from django.utils.encoding import force_bytes def lock_decorator(key_maker=None): """ When you want to lock a function from more than 1 call at a time. """ def decorator(func): @functools.wraps(func) def inner(*args, **kwargs): if key_maker: key = key_maker(*args, **kwargs) else: key = str(args) + str(kwargs) lock_key = hashlib.md5(force_bytes(key)).hexdigest() with cache.lock(lock_key): return func(*args, **kwargs) return inner return decorator How To Use It This has saved my bacon more than once. I use it on functions that really need to be made synchronous. For example, suppose you have a function like this: def fetch_remote_thing(name): try: return Thing.objects.get(name=name).result except Thing.DoesNotExist: # Need to go out and fetch this result = some_internet_fetching(name) # Assume this is sloooow Thing.objects.create(name=name, result=result) return result That function is quite dangerous because if executed by two concurrent web requests for example, they will trigger two "identical" calls to some_internet_fetching and if the database didn't have the name already, it will most likely trigger two calls to Thing.objects.create(name=name, ...) which could lead to integrity errors or if it doesn't the whole function breaks down because it assumes that there is only 1 or 0 of these Thing … -
Comparing AWS vs Azure vs Google Cloud Platforms For Enterprise App Development
Enterprise companies around the world have made the switch from self-hosted infrastructure to public cloud configurations. While most enterprises will always need some on-premise technology, they are developing their applications directly in the cloud. This allows the development teams to stay product focused, rather than having to work on the infrastructure to support the application. By moving to the cloud, enterprises have an existing physical infrastructure that is continuously maintained and updated. This gives them more resources and time to dedicate to the mobile app development project at hand. The post Comparing AWS vs Azure vs Google Cloud Platforms For Enterprise App Development appeared first on Distillery. -
Comparing AWS vs Azure vs Google Cloud Platforms For Enterprise App Development
Enterprise companies around the world have made the switch from self-hosted infrastructure to public cloud configurations. While most enterprises will always need some on-premise technology, they are developing their applications directly in the cloud. This allows the development teams to stay product focused, rather than having to work on the infrastructure to support the application. By moving to the cloud, enterprises have an existing physical infrastructure that is continuously maintained and updated. This gives them more resources and time to dedicate to the mobile app development project at hand. The post Comparing AWS vs Azure vs Google Cloud Platforms For Enterprise App Development appeared first on Distillery. -
Django vs WordPress: How to decide?
In the early stages of a web development project, your first step is a big decision: what’s the right tool for the job? What kind of software makes the most sense for me? A lot of our clients come to us at this stage, seeking advice on how to approach this decision. And it’s an important one: once you invest in a particular platform, the cost to switch later may be high. You’ll want to make sure you have all the info before making your decision. Should you use WordPress or Django? To answer that question, I first need to explain what each of these systems are because we’re actually talking apples and oranges, or maybe apples and fruit salads. When people say WordPress, they’re referring to the content management system (CMS) that’s used to create and upload the website content. Basically, WordPress is the dashboard through which you organize text and images to display on your website. WordPress is built using the PHP programming language. Django, on the other hand, is what’s called a web framework. Built on the powerful Python programming language, it’s a set of tools and libraries that can be rapidly deployed to build custom web … -
Django vs WordPress: How to Decide?
In the early stages of a web development project, your first step is a big decision: what’s the right tool for the job? What kind of software makes the most sense for me? -
How to customize the admin actions in list pages of Django admin?
Django by default provides automatic admin interface, that reads metadata from your models to provide a beautiful model interface where trusted users can manage content on your site. The admin is enabled in the default project template used by startproject so we don't need to worry of the settings. By default the model won't get displayed in the admin panel, to make the models of our application visible in the admin panel we have to regsiter the models in admin.py with admin. In models.py STATUS_CHOICES = ( ('d', 'Draft'), ('p', 'Published'), ('r', 'Review'), ('t', 'Trash'), ) class BlogPost(models.Model): title = models.CharField(max_length=100) content = models.TextField() status = models.CharField(max_length=1, choices=STATUS_CHOICES) created_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title In admin.py admin.site.register(BlogPost) Customizing the admin actions: When we register our app with the admin we’ll see the table in the admin panel. By default it will come with ‘delete selected’ action in the list page. Now we want to add some actions like Publish the selected posts or Draft the selected posts. then we would be override the ModelAdmin and write our … -
django-html-validator now supports Django 2.x
django-html-validator is a Django project that can validate your generated HTML. It does so by sending the HTML to https://html5.validator.nu/ or you can start your own Java server locally with vnu.jar from here. The output is that you can have validation errors printed to stdout or you can have them put as .txt files in a temporary directory. You can also include it in your test suite and make it so that tests fail if invalid HTML is generated during rendering in Django unit tests. The project seems to have become a lot more popular than I thought it would. It started as a one-evening-hack and because there was interest I wrapped it up in a proper project with "docs" and set up CI for future contributions. I kinda of forgot the project since almost all my current projects generate JSON on the server and generates the DOM on-the-fly with client-side JavaScript but apparently a lot of issues and PRs were filed related to making it work in Django 2.x. So I took the time last night to tidy up the tox.ini etc. and the necessary compatibility fixes to make it work with but Django 1.8 up to Django 2.1. …