Learning Django

In this post, I am going to discuss how you can start with web-development. This will include both back-end development and front-end development.

First, let me come to the rescue to those who don't know the pre-requisites. For those who are already aware of these basics can skim the topics, until the topic that interests you. Note that this post is going to help you build your own path for this journey, it will tell you about the tools required, and will also tell you the free resources which you can use.

What is web development?

Simple and straight, the process of building websites and showcasing them on the Internet. Many of you must have used HTML taught in mid-school. Recall that when you used the HTML, to develop that Facebook like looking pages, most kids have done similar things, everyone at least tries to implement a google looking page, recall that those pages could do nothing. They looked like facebook or google but could not do the functions of real facebook and google can. Those pages were not on the Internet, they were just on your system. So this is where the web developers come into the role. The web developers take the responsibility to develop the pages that user are going to see, and all the things which make them work as a real website. So in simple language, they build websites.


What is the front-end of a website?

Whatever the user sees is called "the front-end" of the website. Title of this post is listed at the post where it ideally should. The images are of perfect size, those fancy graphics on some website are all part of front-end. The developers who actually work on this part are called as front-end developers.

What is the back-end of a website?

Do one thing, go to google search, and type cats. Now notice that the address which was www.google.com now had changed to something very complex. Although that very complex is made complex due to a lot of usual things. So, you noticed the change that took. Well, decoding that is the problem which the back-end developer tackles. So the questions like what is to be displayed when you press Search is under the scope back-end developer and that search button itself is under the scope of the front-end developer. 

This post is targeted to help you handle both the front-end and back-end of any website. So what are the tools that will be required?

The Tools:

  • Python
  • Django
  • HTML
  • CSS
  • Bootstrap (optional)

What is Python, How do I learn it?

It is one of the most powerful programmings languages and is also one of the easiest to learn, it is so easy that those who already know a few languages like C, C++, JAVA can learn it in three days. I myself picked it up in three days. But for those who are completely noob, don't worry this is the easiest language to start with.
For learning python head straight to Youtube follow anyone tutorial of python. I personally used Thenewboston tutorials, but you can use any of such tutorials. Now if you have mastery over anyone another language whether it be C, C++, JAVA. You head on to the next point, learning HTML. for those who are either not confident about their first language or are a noob, then you need practice.
Head straight to hackerrank and practice questions for python. I obviously didn't practice since I was confident about my skills in C++ and C.

What is HTML, How do I learn It?

I won't go into details else it will take me hours to complete post, but you must know that it is used to develop the front-end. Another important thing is that it is not a programming language, it is called as a markup language, difference? Out of scope of this post.
Learning HTML is the same as learning Python, find a good tutorial on Youtube. Almost all tutorial explains this difference and will clear the basic about HTML, like what is a markup language, what is it used for so on and so forth. Thenewboston channel is what I used. What About practising? Well, you don't need it. When You will be developing the front-end for your website that will be the practice itself. The best strategy is this: suppose you are building the search bar, and forgot how to do that, go and quickly revise your concept, either from the tutorial you watched or from Google.


What is CSS, How do I learn it?

This is, in easy terms extension to HTML. This helps you improve upon the HTML of your website.
This is used to make your website really beautiful. How do you learn it? Nothing new, go to youtube and find out your preferred tutorial. Note that the new Boston has HTML and CSS under the same series named as XHTML and CSS. Don't worry about the X in XHTML it stands for extensible. Go google out what is the difference between XHTML and HTML. One thing I need to mention is that you need to learn to google things. If you are into programming you need to master this skill. What about practice? Follow the same approach as HTML, You'll practice it as and when required.

What is Bootstrap, How do I learn it?

The developers of Twitter once realized that since most of the websites (all?) have the same elements, the navigation bar, the cool looking buttons, the fading effects, etc. These all thing can always be built using CSS and HTML, but if something is so commonly used why don't we build something which reduces the effort in doing so, why not store these properties and so that all web-developers can easily use it. This is what they did. They built Bootstrap. This is basically a framework based on CSS (uses CSS but contains built-in features so that you need not always start from the start). This is the coolest thing ever. Those guys have done the noblest thing ever. Too much praising. How do you learn it? Same, go to youtube and learn it. I found the new Boston tutorials for this also good.


Did you notice that I mentioned The new Boston channel a lot? Trust me they don't pay me for this.  Just I love this channel. I use it for learning a lot. Too impressed by it.
Returning to the topic. Practice? Again, do it during building.

Why I said practice when building for HTML, CSS, and bootstrap?

Because these are easy stuff, you need not, waste a lot of time practicing them. The main stuff is Django and Python, the front-end development is easy. When I built my first site it took me only three days to built the front end. But the back-end took around ten days (my site is very basic so it does not contain too much, you can check the source code on GitHub), the backend is the real stuff. For back-end learn Django.

What is Django, How do I learn it?

Django is a framework based on python, as is CSS of HTML. This means that Django recognizes that all websites have the same base, they contain the same files.  And thus it gives you a platform to skip all those basic steps. So using Django you start directly at the step which is significant, and you skim over the steps like building files related to settings, etc. What Django does is that it makes our life easy as does bootstrap. So How do you begin with Django? Go straight to the Django Girls tutorials. Don't go by the name, these girls are doing a great job and have built an awesome tutorial for Django. Spend some time following the steps they do. And once done, head straight to youtube and find out a tutorial for Django, this time I won't suggest The new Boston. For Django, the tutorials are not good, and you will struggle to follow up. Telling this from personal experience. Find out some other tutorial.  Luckily I didn't need another tutorial, the moment I found that I could not follow up with them, I decided that I don't need one now. I started building stuff. Although I now realize that if I would have found some better tutorial here then, my building part would have been a cakewalk. Never mind, learn Django and go build your website. For practice building a Personal Website is good. Note that the base of your learning Django should be the Django Girls Tutorials because they'll teach you other things in the tutorial along with Django like using Git and GitHub, and also how to do web hosting for free.


So here we are at the end of this post. I must now go to sleep it is already a quarter to two in midnight. Writing this post took me three hours, Wow! Nonetheless, do post your experiences about your first website and also a link to it, so that I can watch it.


No comments:

Post a Comment

Installing albert on ubuntu 19.04

Installing Albert on Ubuntu 19.04... Albert is not still released for ubuntu 19.04. But still, you can install it using the following ...