Well, your path to become a python guru is on track. Here we shall discuss on how to master python the right way.
THE BASICS!!
The basics of any programming language are fundamental in mastering the language as a whole.
Learning the fundamentals of python will give you the basic understanding of python. For starters, you can catch up with the basics of python programming here:
https://dev.to/am_eric/python-101-getting-started-1np2
INTERMEDIATE PYTHON
Next on track is intermediate python. Here you will get to understand data structures and algorithms and their implementation.Learn data structures and algorithms with me at
https://dev.to/am_eric/introduction-to-data-structures-and-algorithms-with-python-51fp.
Once equipped with these skills, you can now decide on your preferable track. It may be:
Web development
Data Science
Artificial Intelligence and Machine Learning
Game Development among others.
ADVANCED PYTHON
For web development, frameworks such as:
Django
Flask
Pyramid
Falcon
The most popular frameworks are Django and Flask.
Django - is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Flask - is a lightweight python framework that provides the tools necessary to create robust web applications.
Lets take a dive into Django.
Introduction to Django
Requirements:
- You should at least have some knowledge in python programming before trying out a framework.
- You should have python installed in your PC.
Installation
On your cmd
on windows, do
pip install django
Wait till the installation is completed.
Check the django version installed. Do
py -m django --version
Next,create a virtual environment. Do
mkvirtualenv myapp
in an instance where it throws an error -
'mkvirtualenv' is not recognized as an internal or external command,
operable program or batch file.
DO:
pip install virtualenvwrapper-win
then
mkvirtualenv myapp
Inside the virtual env:
(myapp) C:\Users\Eric>
Do:
pip install django
to install django on the virtual environment
then
django-admin startproject myproject
To be:
(myapp) C:\Users\Eric>django-admin startproject myproject
you can alter 'myproject' with the name of your preferred project.
Next, open the project on your preferred compilier.
Creating apps in myproject
Do:
python manage.py startapp myapp
(myapp) C:\Users\Eric>python manage.py startapp myapp
Creating an app would look like this:
myapp/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
Getting the First Output in Django
We use the views.py
to return responses to the screen.
At the views.py
, do:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse(<h2>"Welcome to my first django application"</h2>)
Next step is the ####URL-routing
Create a new python file and name it urls.py
myapp/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
Aturls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
Now run the project.
DO:
python manage.py runserver
The output will be;
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
March 01, 2022 - 15:50:53
Django version 4.0, using settings 'myapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Now that the server is running, visit http://127.0.0.1:8000/ at your web browser
Next,point the root URLconf at the myapp.urls module.
At myproject/urls.py
, do;
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('', include('myapp.urls')),
path('admin/', admin.site.urls),
]
The include()
function allows referencing other URLconfs.
Finally, run the server again and refresh the page.
Do:
python manage.py runserver
The output 'Welcome to my first django application' should be visible from the page.
Thank You for taking time to read this article. Follow for more.
Top comments (0)