
Coding for Entrepreneurs promo video
A Short Summary on Why you Should Code.
System Setup Links
Mac: https://www.youtube.com/playlist?list=PLEsfXFp6DpzQGhFKEwRV10uLNGYh-pAH6
Windows: https://www.youtube.com/playlist?list=PLEsfXFp6DpzSH9ylikCRyki_Bi6avmltQ
Linux: https://www.youtube.com/playlist?list=PLEsfXFp6DpzTh0XQn528bI3XiLpz0pzL2
Quick Links to setup your system with our free installation guides on YouTube
Komodo Edit: http://komodoide.com/komodo-edit/
Sublime Text 3: http://www.sublimetext.com/3
PyCharm: http://www.jetbrains.com/pycharm/
Notepad ++: http://notepad-plus-plus.org/
PyDev: http://pydev.org/
A introduction to the Python Programming Language. Windows/Linux users can setup Python in Section 3 and 4.
Intro to the Django 101 Section
A intro to how websites work with django and servers.
Understand how Django projects handle URL requests.
Build a Django blog app named posts, learning from the admin, create a Post model with title CharField, content TextField, and time stamp fields, then run migrations.
Learn to import a Django post model, register it with the admin, and manage posts in the admin interface. Explore field types, max length, validation, and unicode handling in models.
Customize the Django admin for the post model by using ModelAdmin options such as list_display, list_display_links, list_filter, and search_fields, and enable editable fields like title and timestamp.
Learn to display database contents with your first Django view by building a simple list view using a function-based approach, introducing query sets, render, and basic URL mapping.
Map urls to views by wiring posts home to the posts app’s view function, compare direct path imports with importing the views module, and tune for clarity using function-based views.
Explore Django querysets in the Python shell and in views, importing models, filtering data with contains and exact matches, creating and updating posts, and passing querysets to templates as object_list.
Explore dynamic URL routing and patterns in Django, map post IDs to database queries, and use regular expressions to parse ID parameters for detail views.
Learn to create a Django form workflow using a model form for the post model, including title and content fields, a create view, and built-in validation and CSRF protection.
Learn how to implement template inheritance in Django to create dynamic, reusable templates using base templates, blocks, extends, and includes that reduce repetition.
Implement bootstrap in the project to enhance layout and styling using the bootstrap CDN, adjust templates with grid classes, and improve post listing and detail views.
Learn to implement pagination in Django by ordering a queryset by timestamp, adding pagination, and wiring page variables between view and template.
Enforce basic user permissions by restricting post creation, updates, and deletion to staff or admin users. Use a request.user check that raises 403 for unauthorized access.
Welcome to the new project
Learn how Django apps encapsulate functionality by creating a custom Joines app with an email and timestamp model, registering it in admin, and routing its home view.
Explore building and validating Django forms, from basic email forms to model forms, and persist submissions to the database using get_or_create and CSRF protection.
Install South, convert your app to South, and run migrations to align your database with model changes in Django, using manage.py migrate.
Store IP addresses and generate unique email-linked reference IDs for each user using a Django model and Python shell, ensuring uniqueness with migrations and a ref ID constraint.
Learn how to set up and serve static and media files in a Django project, integrate bootstrap for responsive layouts, and update templates to load static assets correctly.
Use jQuery to create dynamic progress bars with Bootstrap, updating width and text as counts change. Learn to integrate jQuery in Django templates and write reusable functions to set percentages.
Update the email field design with bootstrap form-control and input-group, adding a placeholder and name=email type=email for Django. Show errors via bootstrap alerts and keep the form horizontal with form-group.
Learn how to launch a Django project on Heroku by configuring Git, pushing to Heroku, setting production settings, running migrations, and scaling the web.
Master a comprehensive Django e-commerce workflow with dynamic database loading, product browsing and details, a cart and checkout with guest or logged-in users, and Braintree payments.
Rename a django project from triaging 1:08 to e-commerce 2 and reorganize its folders. Update crispy forms and run the server in a fresh environment.
Create an e-commerce roadmap focusing on products, detail and list views, search, inventory, cart, checkout, and payment integration with shipping addresses and social sharing for physical products.
Define a Django products app with a product model including title, description, slug, price, and active status, then migrate and register in admin to add a sample MP3 player.
Learn to structure Django urls inside apps, using include and regular expressions to route to product detail views, and compare class-based and function-based views with templates.
Learn to dynamically link model instances in Django by defining get_absolute_url or using reverse, leveraging primary keys and URL resolvers to create consistent, clickable product links.
Design a clean product detail layout for the home page, using a two-column structure to show variations, price, and description, with images, quantity, and an add-to-cart and related products sidebar.
Learn how to implement Django flash messages to alert users after actions, customize with Bootstrap alerts, and manage dismissible notifications tied to user sessions.
Learn to use jQuery to dynamically update a product price when a variation is selected. Implement with data-price attributes, variation select, and a set price function that handles sale prices.
Explore building a related products feature in Django by defining a custom model manager, filtering by shared categories and default attributes, excluding the current item, and controlling order and limits.
Convert the login form into a dropdown in the navigation bar to save space on an e-commerce site, showing login or register when not authenticated, with bootstrap and javascript.
Replace the login form with a right-aligned font awesome shopping cart icon and item badge, styled via CSS, while updating static files for live preview.
Learn how many-to-many relationships use a through intermediary model to connect carts, items, and variations, and use the Python shell to create cart items with get_or_create and quantity.
Implement a Django render cart view using the single object mixin to fetch a cart object and render its context with the corresponding template.
Learn to implement a cart subtotal in a Django app by computing line item totals, updating a decimal subtotal via a post_save receiver, and integrating ajax for add-to-cart updates.
Discover how to implement ajax to add items to a cart without page refresh using jQuery to serialize form data, prevent default, and handle json responses.
Learn to keep the cart subtotal in sync when items are removed using post save and post delete signals, with JavaScript updating the UI and Django templates for empty carts.
Learn to implement cart totals with tax in Django, using a default 8.5% tax, post-save signals, and ajax updates to keep subtotal, tax total, and total in sync.
Implement a Django checkout view outside the cart, using a detail view to fetch the cart, handle authentication or guest checkout, and render a login form alongside a guest option.
Design and implement a Django user address model with billing and shipping types, link addresses to the user checkout, and run migrations to support a complete checkout flow.
Fix guest checkout workflow by aligning user address handling with the user checkout identity, updating address queries, and adding a create view for new addresses.
Create a custom cart order mixin to replace session-based address handling in checkout. This wires get cart and get order into the checkout view to fix billing and shipping autofill.
Implement an order status field with choices and a mark_completed method in Django. Clean up session data on completion and connect the checkout flow to the cart and order views.
Update the UI to let authenticated users view their orders in a reverse-ordered list, enable order links, and add address selection with new addresses in the navigation.
Introduce bonus e-commerce lectures, link to our GitHub page for the latest code with change notes, and cover deploying to WebFaction or Heroku.
Welcome to the latest version of the eCommerce Project.
We've made the code open source. Go here: https://github.com/codingforentrepreneurs/ecommerce
Create a new project.
Django Configuration
Product App Views & Templates.
Using Context
Add Bootstrap (getbootstrap.com) to your project.
Template Blocks
Create your first model.
Intro to the python shell.
Customize the Django Admin
Using Querysets and South
Add Images to your project.
Use your own static files.
Products on the homepage
Create unique slugs for your products.
Create the url pattern for the view.
Absolute Url for your instances.
Using Bootstrap images.
Basic Product Search
Create your product page.
Create the Shopping Cart
Update the cart
Use Django Sessions.
Update your navbar to handle number of items in the cart.
Add Cart Items instead of Using Products directly.
Make Cart Items unique to a cart
Adding Quantities and Attributes to your cart items.
Store notes from your cart items "attributes" as we've been calling them.
Create a model for Product Variations.
Update product variation handling.
Part 3.
Remove cart items from cart.
Update templates.
Create an app to handle orders.
Checkout page
Update Products page to improved look.
Add fields to the Order Model.
Update Checkout view and add a "login required" decorator to prevent non-authenticated users from seeing "checkout"
Connect individual user to a Stripe Account
Create Custom Logout View.
Create Login Form and Login View
Creating the needed validation (and related errors) for our form.
Create a basic registration form for your app.
Make emails unique for all users.
Use a post_save signal to do some awesome stuff.
Create the EmailConfirmed model and activation method
Add Email Capability To Django Project
Test email by sending through the python shell
Create your activation key.
Finalize the Activation View & process
Create redirects after forms are submitted.
Implement Bootstrap's Alert Messages
Use Django Messaging Framework (django.contrib.messages) to work with Bootstrap's Alerts.
Create an app for handling Marketing items.
Add middleware for the marketing message
Customize querysets
Display a marketing message between "start date" and "end date"
Update Datetime calls to Timezone due to timezone aware database.
Ajax & Timezone to update Marketing Message
Ajax & Timezone to update Marketing Message
Create the model to save Addresses
Where are we now?
Update address view.
Select address
User default address
Add the stipe payment form.
Create your first stipe charge
Update the order total and charge the correct amount.
Minor Refactoring
Float numbers cause issues for us. Let's use Decimal numbers instead.
Adding shipping and billing.
Make Addresses more fluid.
Add categories for Products
Create Automated, Default Variations
Convert our Project from Django 1.6 to 1.7
Improve the checkout UI
Improve the checkout UI
A high octane introduction to the Python Programming language. If you want this as it's own class, email codingforentrepreneurs@gmail.com with the subject "I want Python 101". I realize that I go pretty fast in this. The goal for you, should be to stop the video, take note of the time, try out what I'm doing, then continue watching.
As you may notice, this video might be a little confusing because I don't really explain a whole lot! That is okay. The purpose of this videos is to give you the feeling of how EASY pulling data from a site like Foursquare will be once you understand more.
Continue on!
Work Alongside Me & Learn Exactly How To Code An eCommerce Site & A Landing Page From Scratch (Last Updated: Dec-8-2014)
Entrepreneurs like you are a rare breed. You create incredible businesses and come up with ideas that change the world.
Technology has made the 21st century, the century of the entrepreneur. Thanks to the power of the internet, you can reach a global audience in minutes.
The question is...do you have the skills to be able to take advantage of this incredible opportunity?
If you’re starting (or have started) a business in today’s tech driven economy, then you’ve got to understand the code that’s driving your business.
All you have to do is follow along with me in a series of easy-to-follow videos that will teach you everything that’s involved in:
Project #1: Building an eCommerce site: This project will take you through everything from setup to execution…but it won't stop there. You won’t just be watching these videos...you’ll actually build this site yourself.
Project #2: Launch a Landing Page for your project: In this section you’ll learn how to build a landing page from scratch so you can collect customer DATA through a FORM. You’ll then deploy this to a live server, and be ready to collect your customer’s information so that you can test market your idea to them immediately.
When you’re finished these sections, you’ll understand how huge eCommerce sites like Amazon, Zappos, Groupon & Livingsocial were created.
Instead of spending infinity boring you with the intricacies of a multitude of languages, Coding For Entrepreneurs will teach you the exact languages you need to know to launch any type of eCommerce site & build landing pages that convert browsers into buyers.
The best way to learn is by doing - you’ll never learn anything if you sit and watch videos or read a PDF all day. We get you into action and enable you to achieve results immediately.
You’ll become proficient in:
Coding is extremely logical. Take Python for example - it reads just like the English language less a couple of odd characters (if it doesn’t now, it will soon):
- Django is based in Python
- It’s fast, simple, effective, secure, and ideal for "perfectionists with deadlines"
- Built-In User Login (authentication) System
- Web-based Admin system (built - in)
- Template system that allows basic knowledge of HTML/CSS to design the front-end.
- Growing Community for Help/Advice/Best Practices .... and freelance clients (or jobs).
- Easy to implement & Launch
The truth is that you could learn all of these languages and use them to further enhance your coding.
But why bother?
You’re an entrepreneur, NOT a professional coder. Would you rather learn how to code something quickly and start building your business empire or spend years debugging something that may never launch?
It’s time to take your future into your own hands and learn how to start Coding For Entrepreneurs today!
- Watch the videos and follow me and do exactly as I do
- If you get stuck, rewind and rewatch while copying me again
- If you’re still stuck, ask questions! I WILL respond to you really quickly!
- Months later if you get stuck, come back and watch the videos all over again :)
- Do NOT take notes. Implement what is happening as you see it.
- When finished, repeat the classes. Start fresh. Delete Everything. Do it again
- Repetition is key: it’s like practicing to master a golf swing or a basketball shot
- When you get stuck ASK QUESTIONS - I’ll help you
- Remember that learning this will put you light years ahead of other entrepreneurs
Build a webpage in 10 minutes ** change resolution to 720p
From a student regarding Windows Users:
"The easiest way to take this course in terms of learning is through a Linux VM. On Windows, download Virtualbox and a Linux .iso (e.g. Ubuntu). Once downloaded, open Virtualbox, follow the steps to create a Ubuntu VM, select the .iso from your hard drive, install Ubuntu and you're good to go with all the commands mentioned in this course. The only extra command I've had so far to install pip is 'sudo apt-get install python-setuptools'." -- Harry
1) I am not technical at all, are you sure I should take this class?There was a time you didn't know how to read, or write, or speak, or walk, or... I believe you are not technical because you didn't take the time to learn through the hard times OR because you haven't even tried. Coding For Entrepreneurs has a growing community to help you through the tough times, the Instructor will help, the Django Community is incredible, and often times a simple web search will solve your problem. Getting help is easier than EVER and often comes for free.
2) Is Django actually that good? It's the default choice for Instagram, Mozilla, Pinterest, Disqus, and many, many more. Django is lightweight, super flexible, easy to learn, easy to implement. I believe it's that good.
3) What makes Python a good language for beginners? Python looks closest to the English language next to many other programming languages and therefore is easier to learn. Python uses spaces " " more often than ";" or "$" or "{" or "(" like PHP and Ruby use.
4) I already know PHP (or another language), should I learn Python/Django? There are two schools of thought: 1) Yes because it's awesome and makes it easy to implemented web-based projects or 2) No because you don't really need to know more than 1 language. If there is any feeling of desire to learn more, do it.
5) Why don't I just use Wordpress or another platform? I think this is like asking a chef why he doesn't follow someone else's recipe. The other recipe might be fantastic... but it's still following a recipe. A true chef creates. A cook follows. Using a platform can be great...but to truly innovate, you need to know how to do it yourself.
6) I see that Django version 1.6 and Python 2.7 is what is used... isn't Python 3.4 and Django 1.7 out? Why aren't you using those versions? Yes both are out and both are very solid on their own. There is much debate about Python 2.7 and Python 3.4 as to which to use. Mac and Linux come standard with Python 2.7 so we believe it's still a solid choice and will remain that way until these major operating systems change what they use. Django 1.7 vs 1.6 (or even 1.5) is virtually the same; especially for a beginner. Once you understand Django, you understand Django. Regardless of the version until Django releases a huge overhaul (which won't happen anytime soon).