My first Django project, what did I learn

Amen Nafeh
4 min readMar 21, 2021

--

Django Logo

Django:

First of all, what is Django? Django is an open-source Python Web framework used for rapid development, clean design, and secures websites. Python is such a popular language, the most choosing programming language by programmers, and it’s easy for beginners to learn because of its readability. Django is widely used as it is open-source, maintained by a large community of developers, which means that you can easily find answers to the problems using Google.

The main goal of Django is to allow developers to focus on writing their apps without needing to reinvent the wheel, but how? It allows developers to focus on components of the application that are new instead of spending time on already developed components. Django is fully loaded by including dozens of extras you can use to handle common Web development tasks. It takes care of user authentication, content administration, site maps, RSS feeds, and many more tasks — right out of the box. Django takes the security side seriously and helps developers avoid many common security mistakes, such as SQL injection, cross-site scripting, cross-site request forgery, and clickjacking. It’s also highly scalable, some of the busiest sites on the planet use Django’s ability to quickly and flexibly scale to meet the heaviest traffic demands like Instagram, Youtube, and Pinterest.

What is the project about:

It was a Wikipedia-like project, but it’s smaller of course.
Instead of using HTML to store encyclopedia, I used a lighter-weight human-friendly markup language called Markdown. It’s widely used in blogging, instant messaging, online forums, collaborative software, documentation pages, and readme files. In this project, users can create new entries and use markdown language to write them, edit old ones, and for sure they can read all of them from the home page or by searching for the topic they want from the search bar. I’ve used the markdown library to convert the Markdown text to HTML.

Django explaining page in my project

My experience:

It was a little bit hard for me, everything is new, I was in the middle of nowhere, trying to fix one error, getting away with two more, very scary isn't it. It took me time more than it should normally take because I was seeking to really understand the code, the errors, not to only finish the project, and the second reason was like I’ve said before, it was “My first time”. StackOverflow has made things way easier for me, if you are new to programming, obviously you should check StackOverflow, so what is StackOverflow?

Stack Overflow is the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. It features questions and answers on a wide range of topics in computer programming. If you got a problem, you can ask about it there and other programmers will let you have a better understanding and you will be able to fix your problems, maybe even they will give you a more professional way to write your code.

After finishing the project, I feel much more flexible and comfortable with python and querying items, it just gets easier, much easier.
Is watching tutorials only enough? The answer is No, absolutely tutorials are helpful, it will give you the basics, but watching tutorials without coding is like looking at people training only without moving, coding is not about memorizing syntax, it’s about knowing what to do, how to do it, and why are you doing it. By only watching tutorials you will be able to read code and maybe understand it, but you won’t be able to write your own code without practicing besides watching tutorials, you should write code for at least 30 minutes a day, writing with your own hands is a whole different thing, get your hands dirty, the more you write, the more your code will get better and you have a better understanding. I learned how to search for my problems and ask people about them, I learned that any programmer should read the documentation, it’s really easy to read and so useful, but the most important thing I’ve learned after this project is, if you don’t write, you won’t learn anything!

You can check my project on my own Github

--

--