বাংলায় জ্যাঙ্গো

আমরা এখন একটি প্রজেক্ট করব। আমরা ব্যাচেলররা প্রতিদিন অনেক খরচ করি। মাস না শেষ হতেই পকেট খালি। তখন হিসেব ও পাই না  এত টাকা কোথায় খরচ করলাম। তাই প্রতিদিনের খরচের হিসেব রাখার জন্য আমরা এখন একটি এপ তৈরী করব। এপটির চেহারা হবে এরকম

তো আপনারা নিজে নিজে এমন একটি এপ বানিয়ে ফেলুন। কাজ শেষে নিচের কোড দেখতে পারেন।

python manage.py startapp cost_management

 

# banglaidj/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog_post',
    'cost_management',
]
# cost_management/models.py

from django.db import models


class Expense(models.Model):
    amount = models.IntegerField()
    purpose = models.CharField(max_length=250)
    date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.purpose

# auto_now_add = True অর্থ , আপনি যখনই নতুন Expense যোগ করবেন তখনই date যোগ করবে

python manage.py makemigrations
python manage.py migrate

 

# cost_management/admin.py

from django.contrib import admin
from .models import Expense

admin.site.register(Expense)

 

# cost_management/views.py

from django.shortcuts import render
from .models import Expense


def my_expense(request):
    expenses = Expense.objects.all()
    context = {'expenses': expenses}
    return render(request, 'cost/expense.html', context)

cost/expense.html এর অর্থ আমরা templates এর মধ্যে cost নামে আরেকটি ডিরেক্টরী তৈরী করেছি এবং এর মধ্যে  expense.html রেখেছি। এভাবে প্রতিটা app এর টেমপ্লেট গুলো ভিন্ন ভিন্ন ডিরেক্টরী এর মধ্যে রাখাটা বুদ্ধিমানের কাজ।

from django.urls import path, include
from django.contrib import admin

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog_post.urls'), name='home'),
    path('cost/', include('cost_management.urls'), name='cost'),

]

 

from django.urls import path
from . import views

urlpatterns = [
    path('list/', views.my_expense, name='cost-list'),
]

 

# templetes/cost/expense.html

{% extends 'base.html' %}

{% block content %}
<table class="table  table-striped">
<thead>
<tr>
    <th>Purpose</th>
    <th>Amount</th>
    <th>Date</th>
</tr>
</thead>
<tbody>
{% for expense in expenses %}
<tr>
    <td>{{ expense.purpose }}</td>
    <td>{{ expense.amount }}</td>
    <td>{{ expense.date }}</td>
</tr>
{% endfor %}
</tbody>
</table>

{% endblock %}

সম্পুর্ন কোড দেখুন গিটহাবে 

আগের পোষ্ট                                                                                             পরের পোষ্ট

5
Leave a Reply

avatar
0 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Recent comment authors
  Subscribe  
newest oldest most voted
Notify of