Show filters Hide filters

Refine your search

Publication Year
1-36 out of 52 results
Change view
  • Sort by:
23:29 DjangoCon US English 2016

Mighty Model Managers

Model Managers are an amazing part of the Django Framework. When put to use, they can bring enhanced readability, encapsulation of logic, increased security, and performance. But they're often overlooked - even by those with years of experience. Let's fix that. We'll go through examples that demonstrate how easy Model Managers are to integrate into a project and why they're so important.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
44:34 DjangoCon US English 2016

Architecting with Channels

  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
26:27 DjangoCon US English 2016

Things your Mother Didn't Teach you about Sharing your Toys

In this talk, Russell Keith-Magee will bring the experience born of 25+ years as a software developer, 10 years as a Django core developer, 5 years as DSF President, and 5 years as a business owner to expose you to some topics that every software developer should know, but often aren't covered as part of formal training. This includes legal topics such as copyrights, licensing, and trademarks, the role played by codes of conduct, and some of the non-code skills that are important for successful projects, and essential for successful entrepreneurship.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
43:26 DjangoCon US English 2016

Walking Down the A11Y Road - Lessons Learnt From Working on Accessibility of A Django Project

- Who we are and how did we meet? WHY DO WE CARE? - Universal Design as a core value - Who benefits? - Why making inclusive products makes business sense? - What liabilities you incur for not making inclusive products? WHAT CAN YOU DO WITH AN ALREADY ROUNDED PRODUCT? BABY-STEPS WITH KA LITE Easy things you can check for and correct fast (titles, headings, aria landmarks, visible focus, alttext for images, meaningful labels for EVERYTHING...) Bit more tinkering required (menus and navigation, complex forms, accessible color schemes...) Accessible Multimedia & Documents (offer ALTERNATIVES!) WHAT SHOULD YOU DO RIGHT FROM THE START OF A NEW PROJECT? KOLIBRI FLIES FOR EVERYBODY - Include a11y requirements into the Usability Style Guide - Take a11y into account when choosing the libraries and frameworks - Follow the standard web semantic - Make accessible web components available from the beginning - Start including a11y automated tests as soon as possible ACCESSIBILITY IN EVERYDAY DEV TEAM LIFE - A11y Pills & lots of passion - Make accessibility a *SHARED* responsibility - Start a Tools Repository (Rome wasn't built in a day) - Don't rely exclusively on checklists and automated testing (Involve the USERS!) - No such thing as 100% accessible
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
44:32 DjangoCon US English 2016

WebSockets: Intro to Messaging

Today’s web applications demand information to be delivered immediately after it is available. This is a huge step from where everything started, simple HTTP blocking requests. In order to solve this Server Side Events (SSE) and Websockets (WS) were created. SSE works from the server to the client only and it uses the HTTP protocol. WS is bidirectional and implements a layer on top of HTTP. WS started to get more momentum and now most of modern web browsers support it.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
21:23 DjangoCon US English 2016

Building JSON APIS With Django / Pinax

Javascript is a language we simply cannot ignore. It isn't just Javascript too. Objective-C, Swift and Java are all languages we are finding we need to work with to meet client expectations about a web app. The role Django (and Python) plays in this new world is becoming a bit more limited. There are plenty of great efforts to get Python running everywhere, but this talk isn't about any of that. This talk is about building the API all of these frontends need to communicate with to drive persistent and business logic. pinax-api was originally built to serve the needs of a particular client at Eldarion, but later pulled out as its own app. It provides a simple and modern interface to building an API with Django. At its core, pinax-api leverages the JSON:API spec that was built out of Ember. The talk will cover: what is JSON:API JSON:API in pinax-api API primitives provided by pinax-pai how pinax-api leverages Django to its fullest automatic documentation generation using API Blueprint why not Django REST Framework?
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
25:55 DjangoCon US English 2016

I Didn't Know Querysets Could do That

QuerySets and object Managers are a core part of Django, and can be extremely powerful. But I didn't always know about some of their more advanced capabilities. BASIC METHODS You have likely used filter(), exclude(), and order by(). You've even probably used an aggregation method like Sum() or Count(). Less common, however, are query(), only()/defer(), and select related(). F EXPRESSIONS / Q OBJECTS For some more complex queries, those basic functions and filters won't cut it. How do you construct a query that needs to check for field A or field B? What do you do if you need to multiply two fields together and then sum them? Look no further than F() and Q(). RAW SQL / THE EXTRA() METHOD As a last resort, it's entirely possible to use raw SQL queries to get the database results that you need. The sky's the limit, but there are definitely downsides to this approach; pitfalls include SQL injections and database backend portability issues. MANAGERS A talk on QuerySets would be incomplete without mentioning Managers, and how to leverage Manager customization to make your life easier. Writing methods on existing Managers, and creating custom ones can go a long way towards being DRY and reducing the potential for errors.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
31:14 DjangoCon US English 2016

It is Darkest Before Dawn: Alcoholism and Addiction in Tech (CW) (TW)

Technology professionals have been in high demand for several decades, and this demand for talent has caused a culture to emerge that often turns a blind eye to those who may be struggling with alcoholism and addiction. We have to come together to avoid this "petri dish" continuing to exist, by watching out for ourselves, and one another. The CDC estimates that ten percent of Americans suffer from the disease of addiction, and only nine percent of addicts ever receive treatment. This "petri dish" of technology culture makes it even harder for those of us with careers in the field. Recovery can be a wonderful journey for those of us who suffer from the disease, and I hope by sharing some of my journey, people will take a step back and consider what we can do to improve the culture for everyone. Content warnings: this will be frank discussion that may involve colorful language, and topics including drug and alcohol abuse, death from addiction and sexual abuse.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
43:17 DjangoCon US English 2016

Django and React: Perfect Together

React is a JavaScript library that makes it much easier to build dynamic single-page sites. I won't much dive into how React works, but the main advantage is that it allows you to build your view layer in a declarative way, and with reusable components. We'll start with an overview how React works, with an eye towards how it's different from interpretive libraries like jQuery. This overview will center around how state is managed in React vs. jQuery, which is the biggest hurdle for many developers when they're learning React. So if you haven't quite wrapped your head around the difference between "2-way data binding" and "1-way data binding", or if you've heard someone talk about "data-down/actions-up", "flux", or "redux" and weren't quite sure what they were talking about, this will clear all that up. Then we'll take a look at how you can integrate React into a Django project. We'll talk about how you might want to structure things if you're starting with a brand new project, but we'll also talk about ways you can start to take advantage of React's strengths even in projects that are already mature. Finally, we'll talk about some of the challenging parts of working with React for the first time - how to handle front-end permissioning in React based on your back-end API, how to think about url routing when you literally have two routers, deployment, and the general confusion that goes along with using npm and webpack for the first time.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
37:18 DjangoCon US English 2016

Frog and Toad Learn About Django Security

Django Security Talk Notes Philip James, how long I’ve worked with Python and Django, background at EB Introduction to the story, and the characters Safe-ish: Talk about Django’s Security Model and how it tries to provide sane defaults for developers Run-through of the parts of the django security model
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
38:40 DjangoCon US English 2016

How we Used NLP and Django to Build a Movie Suggestion Website & Twitterbot

The Cleveland International Film Festival (CIFF) is a two-week long event featuring hundreds of foreign, independent, and new films making their debut on the silver screen. For anyone less than a film buff, choosing a movie to watch at the film fest is a hard choice: there are no reviews, no IMDb info, and no Netflix/Hulu suggestions. Yes, it’s truly byzantine in that one must actually read all the movie descriptions to decide which one to watch. With a handful of Python libraries, and 2 days, we developers at CodeRed built a movie recommendation engine for the CIFF. This talk outlines each step we took to build the recommendation engine, website, and twitterbot all centered around a Django project. Overall, this talk offers a complete look at the various parts and pieces that go into building a feature-full Django site, as well as exposure to doing entry-level Artificial Intelligence in Python.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
44:01 DjangoCon US English 2016

From Developer to Manager

As developers move along in their career, they are often encouraged to take on roles that involve more and more people management and less code. Stepping towards management often can be a good move to make, but it is not one that should be taken lightly. If such a move is taken without a full appreciation for what it truly is (a career change), it can lead to woe and misery for all involved. In this talk we'll follow one developer's journey from coding 40 hours/week to primarily managing humans. What worked well, what didn't work well, what was hard, and what was surprising. Attendees of this talk should expect to walk away with a better idea of if they may be suited for management and if so, how they can successfully acclimate to their new role.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
23:04 DjangoCon US English 2016

An Intro to Web Accessibility in Django

Like most developers, I've always known that building accessible web apps is the right thing to do, but I wasn't sure how to do it. I tried my best to add image descriptions and audio transcripts and figured that was good enough. Then I started work on a Django 1.8 project for an agency that has a low-vision website administrator. When we sat her down in front of the app's admin interface for the first time, she had a lot of trouble using it. The contrast was way too low, and control features like sort by column weren't properly labeled. After watching her navigate the admin interface and learning more about how disabled users navigate the web, I customized our app's admin interface to improve accessibility. I've since gotten training in web accessibility, and want to share some of what I've learned so we can all build more accessible apps.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
25:40 DjangoCon US English 2016

Building Dynamic Dashboards With Django and D3

Django does a great job of building dynamic web applications, but it's not always clear how to use it for a single-page JavaScript-driven application like a data dashboard. We will walk through a dashboard built with Django for emergency services data and dig into the following questions. How do I serve data up to my dashboard? We'll show how the Django REST Framework can make this easy. How do I allow deep linking to particular queries on my dashboard? We'll use django-url-filter to transform a URL hash into a database query. How do I get statistical calculations like quartiles out of Django? We'll stretch the Django ORM to use PostgreSQL's powerful statistics functions. How do I make all of this work with D3? We'll have a brief survey of how D3 works and see how to plug data from Django into it.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
24:35 DjangoCon US English 2016

Atomic Wagtail

WHAT IS WAGTAIL Wagtail is a Django-based CMS made by developers that were just sick of the current solutions out there for reasons from usability to extensibility. It provides a sleek and intuitive editing experience, while keeping its design open and flexible for creating custom frameworks. I'll first explain what Wagtail is, how we can use it, what features make it great, and what makes it not so great. ATOMIC DESIGN Brad Frost coined this term in reference to his taxonomical design model. The model breaks down design layouts from the simplest element to the more complex layouts. I'll briefly go over what this model is. ATOMIC WAGTAIL Atomic design lends well to the strengths and some features of Wagtail. I'll tell you how you can use Atomic design in harmony with Wagtail, with tips and pitfalls you might encounter along the way. LESSONS LEARNED Any new approach to something is going to be both fun and frustrating. I'll list some of the most frustrating aspects of Wagtail, trickled with some advice.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
26:38 DjangoCon US English 2016

Beyond Po: How to Make Django Work For Right-To-Left Languages

LANGUAGE DETECTION How to address URL based translation and Django language detection easily. RTL LANGUAGE DIRECTION Most of them are speaking in a language which is written right to left so it’s not enough to just translate your app to their language. You should change the style of your app to display them in a correct format. Some graphic elements should be flipped horizontally to make sense for them. CHARACTER ENCODING ISSUES When you are working with a language with completely different form of alphabet and characters there is a huge chance that you face an issue if you don’t abide some encoding standards. CALENDAR SYSTEM Some of those countries have their own calendar which is completely different from gregorian calendar which is used in most of west countries. There are some apps helping you to convert unix timestamp to those different calendar format in both backend and frontend side INTERFACE DESIGN AND PROPER FONTS As their language is RTL some graphic elements need to be mirrored. Although it is true for most of layout parts but there are still some sections that needs to keep their direction, like mathematical equations, multimedia players progress bar, … Using modern frontend tools like SASS mixin to automatically float elements depending on the language direction.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
21:58 DjangoCon US English 2016

Angular 2 and You

AngularJS is one of, if not the, most popular JavaScript framework out there today. But a new day is coming: The dawn of Angular 2! Angular comes with a robust community and standard of practice, but Angular 2 is something even more intriguing: a JavaScript framework based on components (not unlike React!), with an eye towards complying with future web standards. In this talk, we’ll cover the broad strokes of Angular 2, including some of the big game changers: web components and “choose your own language” support, and how it integrates into back-ends like Django to provide some structure to your front-end. You'll learn about Angular 2's approach to the "JavaScript framework" problem, how components create modularity in your application, and a little bit about the JavaScript build toolchain (mysterious to many!) that the JavaScript world is constantly debating over.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
35:53 DjangoCon US English 2016

DjangoCon US 2016: Day 2: Lightning Talks

Day 2 Lightning Talks by Many People 00:14 - Lucie Daeye 05:22 - Rostyslav Bryzgunov 08:09 - Tobias McNulty 13:10 - Kenneth Love 17:58 - Joseph Bane 21:35 - Ola Sitarska 26:13 - Rachell Calhoun 30:36 - Joe Cronyn
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
43:37 DjangoCon US English 2016

The Glass Walls of Tech

  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
24:37 DjangoCon US English 2016

SSL All The Things

Over the last few years SSL/TLS encryption of not only websites but many other services as well has risen tremendously. The Let’s Encrypt organization and certificate authority (CA) makes that pretty easy. Since September 2015 almost 1.8 million certificates have been issued. And you can use it, too. For free! In this talk I'll demonstrate how to integrate SSL/TLS and point out some common pitfalls. I’ll briefly layout the Let's Encrypt ACME protocol and explain what you need to set up in Django to make SSL/TLS the default and only way to access your site.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
23:29 DjangoCon US English 2016

The City as Cyborg: A History of Civic Technology in The First Quarter of The 21st Century

  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
27:55 DjangoCon US English 2016

Making a Splash with your Open Source Project

So you've written a bunch of code, and you think others might find it useful. You open source it, and... profit, right? Well, no. PyPI is filled with thousands of projects that have been released with the best of intentions, but never really break into the mainstream. How do you escape this trap, and maximize the chance that your project will actually be used, grow and thrive?
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
20:37 DjangoCon US English 2016

People are Coming to My Beginning Workshop, What Now?

Volunteers often love running introductory programming workshops. This talk covers how to help attendees get the most out of your volunteer time. We’ll look at how to make a tutorial easier for attendees to follow and tips that help students stay relaxed and learn effectively. The talk incorporates what I learned as a student teacher and includes a new source of help in revising newcomer material.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
41:53 DjangoCon US English 2016

Under the Hood of Modern CSS Frameworks

Together we’ll look at the code behind Bootstrap, Foundation, Semantic UI, and other CSS frameworks. We’ll identify common patterns and architectural decisions that make these systems so easy to use. Some of the things we’ll discover: What it takes to set up a good type system. How style and structure are separated to make theming easier. Best practices for stubbing out grid systems. How configuration works. How to make everything feel cohesive. What it takes to test a framework so you can potentially test your own. So much more! If you’re looking to improve your skills with one of these frameworks or potentially roll your own mini-Bootstrap, this talk is for you.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
42:35 DjangoCon US English 2016

The Full Stack of User Experience

User experience(UX) has come to the forefront of the design world over the last 5-10 years. As the internet and its content have evolved, we’re asking now more than ever about user goals when they visit the websites and software we create. UX terms like Information Architecture, Interaction Design, and Research are regularly thrown around, but what are they and how does it impact a site and product? This talk will define UX and it’s sub-disciplines to bring understanding to what UX is. Practical deliverables will be shared in an effort to give attendees something that they can begin to implement into their process.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
30:57 DjangoCon US English 2016

This Old Pony: Working With Legacy Django Apps

Legacy software is software that already exists. It may be a project you've inherited after joining a team, a new client's application, or something you wrote last year, or last month. Most software developers seem to prefer "greenfield" development, where you get to start from a clean slate. The reality is that there's a lot of "brownfield" development out there, that it rarely makes sense to throw away working software, and we can control the experience quite a bit to make our lives, and the software, better. If you haven't worked with legacy software chances are pretty good you will. We'll first walk through what "legacy" means, and what this looks like specifically for Django developers and Django projects. We'll also cover some of the scenarios in which you may find yourself working with legacy codebases. This includes the types of issues you'll be presented with, both generally and specific to Django. What do we mean by legacy code? What does a legacy Django project look like? What kinds of issues will you need to deal with? How to approach the codebase Tools for working with your new legacy codebase Introducing or fixing tests Common issues to look for and how to solve them Legacy deployment processes and other scary nightmares More features! Balancing business needs and "perfect" code Deciding when to upgrade Django and other dependency versions, and how to do this
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
27:06 DjangoCon US English 2016

The Impact of Women Learning to Code in Developing Countries: Benefits and Challenges

In a continent where more than 75% of the world’s poorest countries are located all with common problems of Economic hardship, electricity issues, lack of water e.t.c and there is a global need to change the narrative not just as individual countries but as a continent. Our leaders try as it may have failed us, nothing seems to be working. The next point of action is to use Technology in whatever form to change our narrative, change our story and enhance our lives. What better way to go than to go the open source route. Already many initiatives have sprung up recently with PyCon Namibia and DjangoGirls spreading through different African countries. In this talk we highlight how Python education has gradually changed the lives of many women and hope to make suggestions on how such initiatives hope to bridge the technology gender gap in Africa and ultimately how it is being used to change our narrative. Anywhere in the world, achieving development means going through serious technological changes and innovation. That implies having qualified people to drive those changes. These qualified people exists in most of the developing countries but it’s not enough. It is indeed a sheer case of demand outweighing supply. It is no secret that in Africa there are so many untapped resources with a whooping 60% of the entire population between the ages of 15-25. At this point there is so much potential laying fallow. Globally there is a talent gap in technology with not enough people with the right skill set to fill in the role with Africa with no exemption. Furthermore, by looking closely, it’s easily noticeable that the majority of technological workforce is the men. There is therefore a considerable opportunity: WOMEN. Unfortunately, because of different reasons especially in Africa where women rights are not given due consideration, and due to unfair treatments, very few women are involved in technology. By consciously making extra efforts to enlighten and bring in more women, we can nearly double the amount of qualified people in technology, create more innovations and progress. This is in fact a no brainer solution In this talk we would talk about how workshops like Django Girls are helping increase the number of skilled people in technology and also stress the need for to create a lot more similar events and make them more “3rd world friendly” by tackling challenges such as lack of electricity, internet, proper equipment etc. In this talk we would curate information from all DjangoGirls organizers in different African countries to highlight the general challenges faced in organizing python workshops and events in various countries in Africa and also profer solutions and suggestions in tackling these issues To conclude we leave with this quote from Karen Spärck Jones, Professor of Computers and Information at Cambridge Computer Laboratory "I think it's very important to get more women into computing. My slogan is: Computing is too important to be left to men."
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
26:23 DjangoCon US English 2016

Stress Testing Your Code of Conduct in Production

The Django and Python communities have made codes of conducts a standard feature for many years now. But what exactly is a code of conduct? How does it work in practice? Why do we need them? What you should report? What are the consequences of having one? We (Ola & Baptiste) have been working as CoC points of contacts at many conferences for the past few years: EuroPython 2014, DjangoCon Europe (2015 and 2016), and Django Under the Hood (2014, 2015). This has given us a unique insight into the inner workings and practical implications of codes of conducts and we want to share it with the Django community. The talk will start with a brief history of codes of conducts. From then, we'll go over some of the challenges and pitfalls of implementing a CoC in our communities or events. After that, we'll show how CoC work in practice and answer some common questions about them. We will then briefly talk about how lessons learnt from CoC world can be applied successfully in your daily job to grow supportive and strong teams. Finally, we'll finish off by showing the new standardized CoC processes that we've been working on. With this talk, we want to continue the process we've started of bringing CoC to the front of the stage, making them more transparent and less taboo. We believe that CoC are an essential part of any community and we'd like to share our vision for how we think ours should work.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
20:29 DjangoCon US English 2016

Just Enough Typography

Design is 95% typography, or something like that. Having a grasp on what makes for pleasant, easy to read typography that reinforces your brand is the first step towards building an amazing, impactful experience. Together we will explore typography fundamentals: Sizing, spacing, and rhythm to make all of our type feel cohesive. How to improve readability and encourage the user to read. Type families and different styles. Choosing and pairing fonts, how many to use, and when to use them. Much more! These typography basics will help you better understand why some typefaces just don’t work and give you some go-to solutions for when the designer is out sick (or has gone crazy). We’ll learn a bunch but not too much, it will be just enough :grin:
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
23:30 DjangoCon US English 2016

A New Look Into APIS - Graphene

REST API's have been with us a long time. It's time to ask if we can create better API's with new paradigms. We will discuss new ways to query and manipulate data so that our code becomes simpler and easier to scale. GraphQL is a query language created by Facebook in 2012 which provides a common interface between the client and the server for data fetching and manipulations. We will do a quick overview of GraphQL and focus later on Graphene, the main GraphQL framework for Python. Graphene allows us to reuse our existing Django Models to create schemas quickly and easily. We would like to think of it as the next natural step from the Django Rest Framework.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
42:32 DjangoCon US English 2016

Lucky

  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
23:56 DjangoCon US English 2016

DjangoCon US 2016: Lightning Talks

Lightning Talks by Many People 00:04 - Adrienne Lowe 06:33 - Russell Keith-Magee 09:42 - Tom Christie 15:14 - Trey Hunner 18:39 - Paul Logston 20:28 - Timothy Allen
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
21:08 DjangoCon US English 2016

Making the Most Out of Code Reviews

Code review is like a buzzword in the programming world. Developers often talk about how important it is. But what really happens during code review? What do you achieve out of it? How can we learn during code review? This talk will present ideas of what should be the goals of a code review, and how can developers learn during code review process.
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
28:58 DjangoCon US English 2016

Pushing The Pony's Boundaries - Django Admin Customization

1) Short introduction 2) Run through available extension libraries and what’s possible in them: - Django Suit - Grappeli - Django Admin Tools 3) Quick run through available Django Admin options. - list display, list filter, list editable, search fields, ordering, sortable - readonly fields - raw id fields - fieldsets - actions 4) Customizing Django Admin on your own. Let’s create a super custom Django Admin together! The case study of DjangoGirls.org website, that supports a management system for various users who should be able to only manage pages they’re assigned to. - Limiting objects to users - Displaying computed fields in list page - Limiting add/edit forms for different types of users - Automatically saving information per user - Custom actions 5) Summary - Instructions where to look for more information
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
25:16 DjangoCon US English 2016

Rub-A-Dub Rubber Duck: Don't be Afraid to Debug!

Everyone of us knows this scenario, it's part of the daily life of a programmer: You build something and it doesn’t work. You run into a bug, you find a problem, you break your code - and then you have to figure out how to fix it again. This can take 5 minutes, several hours, sometimes even several days. Sometimes you get really frustrated and are about to give up but when you finally find the solution it's the greatest feeling in the world. Do you want to learn how to proceed when your code doesn’t work? Do you want to learn how you can become a better problem solver? Do you want to learn how a rubber duck can help you? Then this talk is for you :) In this talk I will present strategies on how to proceed when you run into a bug or other coding problems. I will also talk about what you can do in order to prevent frustration and how you can learn to be more confident when encountering bugs. My goal is to show that bugs are nothing to be scared of, that you can fix (almost) everything and shouldn’t be afraid of breaking things, and that debugging can be easier than you think it might be if you approach it the right way. Breaking things is the first step to learning how to fix them! This talk is inspired by a blog post I wrote a while ago, which you can find here(). Introduction - Who am I? What is this talk about? (2 minutes) What is a bug?/What is debugging? (5 minutes) Why breaking things is great - Don’t be afraid to break things (3 minutes) Why a rubber duck? - Debugging strategies (10 minutes) Reading error messages the right way How Google can help Rubber ducks, hypothesis, testing different approaches/solutions Reproducing bugs Breaking your code down into smaller pieces Drawing diagrams of code/writing pseudocode Reading documentation Debugging tools like the django-debug toolbar What to do when frustration kicks in (3 minutes) Where/how to get help (2 minutes) Q&A (5 minutes)
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
23:22 DjangoCon US English 2016

Solving Problems with Django Forms

We'll look at a few core problems that we were able to solve with Django forms. Dynamic Field Creation: What if you don't know what fields should be present on a Django form until runtime?. Solutions: Viewing a form's fields as a data structure (convert a field definition to a dictionary) Manipulate self.fields on a form to dynamically add / remove forms from a field. Pitfalls: A fields validated attributes can't be manipulated dynamically because of Validators within the forms API. Dynamic form layouts become difficult to manage, crispyforms does not scale as a solution! Validate a form via an API: How can external validations behave the same as internal errors? Solutions: form.clean() can be used for form wide errors, and form.add error can be used to integrate those external validation errors into your existing form so that calls like is valid() still work as expected with your external validations. Adding fields at runtime: How can the user add fields to a form after it has been rendered? Solutions: Javascript can be used for the UI, and if the fields are properly named, the same validations will work as long as the fields are part of the form. Pitfalls: Creating a solution that creates a dynamic field that is validated, but doesn't render can cause issues with your layout solution (crispyforms fails again here)
  • Published: 2016
  • Publisher: DjangoCon US
  • Language: English
out of 2 pages
Loading...
Feedback

Timings

  190 ms - page object
   85 ms - search
    4 ms - highlighting
    1 ms - highlighting/32726
    2 ms - highlighting/32696
    1 ms - highlighting/32709
    2 ms - highlighting/32683
    2 ms - highlighting/32725
    1 ms - highlighting/32720
    1 ms - highlighting/32711
    2 ms - highlighting/32718
    2 ms - highlighting/32730
    2 ms - highlighting/32701
    2 ms - highlighting/32685
    1 ms - highlighting/32729
    2 ms - highlighting/32714
    1 ms - highlighting/32704
    2 ms - highlighting/32719
    2 ms - highlighting/32722
    2 ms - highlighting/32708
    2 ms - highlighting/32695
    3 ms - highlighting/32706
    3 ms - highlighting/32684
    2 ms - highlighting/32707
    2 ms - highlighting/32732
    0 ms - highlighting/32734
    0 ms - highlighting/32712
    2 ms - highlighting/32716
    1 ms - highlighting/32731
    2 ms - highlighting/32723
    2 ms - highlighting/32724
    1 ms - highlighting/32703
    3 ms - highlighting/32728
    2 ms - highlighting/32705
    1 ms - highlighting/32710
    1 ms - highlighting/32727
    1 ms - highlighting/32702
    1 ms - highlighting/32691
    1 ms - highlighting/32733

Version

AV-Portal 3.7.0 (943df4b4639bec127ddc6b93adb0c7d8d995f77c)