Create a website with your own simple, custom CMS using HTML, CSS, JavaScript, Django, & Python! (Skillshare)

Create a website with your own simple, custom CMS using HTML, CSS, JavaScript, Django, & Python! (Skillshare)
Free Course
Categories
Effort
Certification
Languages
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Create a website with your own simple, custom CMS using HTML, CSS, JavaScript, Django, & Python! (Skillshare)
In the next few videos, I'm going to teach you how to create a completely custom, CMS-driven website from scratch using a Job Listing website as an example. *This is a step by step tutorial with explanations along the way. This class is mainly going to be for designers who have some HTML, CSS, and JavaScript experience, who are maybe tired of manually entering data for portfolio pages and want to create a more efficient solution.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Important (June 2020): Because of the long delay and because the technology has since been updated, setting up the Admin page is not included in the video lessons.

Learn more about using django-admin for Django 3.0 in the documentation.

You're free to take this class as a learning tool, but be aware that it uses an older version of Django and Python.

〰️

This class is also for web/front-end developers who want to take their back-end knowledge a bit further, get comfortable with using the command line, and start building web pages for clients without depending on existing CMS's.

A CMS, or content management system, is an application used to create and manage digital content. Some existing popular ones include Squarespace, Wix, and WordPress. While there's nothing wrong with using these CMS's, sometimes you don't want to navigate through complex frameworks or install a ton of plugins to get one thing done.

In this class, I'm going to teach you to create your CMS-driven website using familiar web development technologies and languages, plus give you an intro to using Python and Django.

It's going to be lightweight, custom, and the way I break down the code will be modular so that you can easily duplicate code and customize how your CMS works.

〰️

Notes:

- Mac OSX preferred (you can also use PC, but please note that this class is completely taught using Mac and may not translate well for Windows users).

- Some HTML, CSS, JavaScript knowledge required.

- Python and Django knowledge NOT required.

Note: Please download the zip file attached before you get started as well as the README (you'll need to reference this for certain videos).

The packaged zip file includes the Design folder where you can find the Sketch file for the job listing website, as well as a folder with all the screens exported as png's. There's also the Development folder, which includes a folder with all the code for the finished website, as well as a folder with the skeleton project.

〰️

For this project, I'm going to be walking you through creating a custom CMS for a job listing website. The focus of the lessons will be on the CMS, so absolutely feel free to use your own website for the example.

We'll mainly be focusing on building the environment, including creating an admin login, admin dashboard, and forms for publishing and editing entries. I'll walk you through saving a job listing on your database through a form, and then linking that job listing database entry to your public website.

〰️

FAQ

Why do we need to use Python 2.7 and Django 1.11 if they aren't the latest versions?

We're using Python 2.7 to keep this lesson simple* since this is what’s included in Mac OSX as of publication and it supports the use of libraries. The versions of Python and Django that you are using are important. Django 1.11 is the last version to support Python 2.7. For more info about version support, go to Django's FAQ page.

(*For the purposes of this class and because I don't want to bombard you with so much information, I've used Mac OSX's built-in Python 2.7, but best practice would be to use a Virtual Environment. Mac's built-in Python is great for learning, but not the best for development because it may be out of date. Please feel free to explore the world of Virtual Environments on your own!)

Where is the data from the CMS stored?

In the Finished Project from the zip file, you'll notice the file db.sqlite3. This is where your data is stored. By default, Django's configuration uses SQLite, a lightweight database that is included in Python, so you won’t need to install anything else to support your database.

Can I use the SQLite database for production?

In this case, yes. You can technically use SQLite for development and production, but for much heavier transaction loads there may be better options such as PostgreSQL or MySQL. Go here to learn more about using other databases.

〰️

Again, there are a lot of other things you can do for best practices and efficiency, such as using CSS preprocessors like SCSS, but it would've been a lot to cover for this one class. I'm still learning the best ways to teach, so please feel free to reach out with any questions and/or feedback!



MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Free Course

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.