আরে আপনি কেমন আছেন? আমি একজন 18 বছর বয়সী একজন ব্যাকএন্ড ডেভেলপার এবং একজন উচ্চাকাঙ্ক্ষী মেশিন লার্নিং ইঞ্জিনিয়ার। এবং এই নিবন্ধে, আমি পাইথন 😁 ব্যবহার করে আপনার ফোনে কীভাবে একটি ওয়েব অ্যাপ তৈরি করবেন সে সম্পর্কে লিখতে যাচ্ছি। এর মধ্যে ডুব দেওয়া যাক।
প্রয়োজনীয়তা৷
আমাদের এখানে প্রথম যে জিনিসটি দরকার তা হল একটি অ্যান্ড্রয়েড ফোন, কমপক্ষে সংস্করণ 6.0 এবং তার বেশি। কিন্তু যদি আমি আপনাকে বলি যে আমাদের শুধু প্রয়োজন? সত্য হতে খুব ভালো মনে হচ্ছে৷
৷
এখন আমাদের যা করতে হবে তা হল আমাদের ফোনে pydroid3 নামক একটি মোবাইল অ্যাপ্লিকেশন ইনস্টল করা।
আপনি দেখতে পাচ্ছেন, pydroid3 একটি মোবাইল অ্যাপ্লিকেশন যা আপনাকে আপনার মোবাইল ফোনে Python লিখতে দেয়, তাই এগিয়ে যান এবং এটি ইনস্টল করুন।
আমাদের পরবর্তী কাজটি হল জ্যাঙ্গো ইনস্টল করা। আপনি যদি জ্যাঙ্গোর সাথে পরিচিত না হন তবে দয়া করে এখানে জ্যাঙ্গো ডক্স দেখুন।
জ্যাঙ্গো ইনস্টল করার জন্য আমাদের pydroid3 এ সাইড নেভিগেশন খুলতে হবে এবং টার্মিনাল নির্বাচন করতে হবে:
তারপর এটিতে ক্লিক করুন এবং আমাদের এটি দেখতে হবে:
একবার এটি হয়ে গেলে আপনাকে যা করতে হবে তা হল নিম্নলিখিত কমান্ডটি টাইপ করুন:
pip install django
এবং আপনি নীচের পেতে হবে. আমি একটি "প্রয়োজনীয়তা সন্তুষ্ট" বার্তা পাচ্ছি কারণ আমি এটি ইতিমধ্যেই ইনস্টল করেছি৷
৷
এটি সফলভাবে ইনস্টল করা হয়েছে, তবে আসুন এটি নিশ্চিত করি। টার্মিনালে django-admin
টাইপ করুন এবং এন্টার চাপুন।
আপনার এটি পাওয়া উচিত:
এর মানে হল এটি আসলে ইতিমধ্যেই ইনস্টল করা আছে৷
৷কিভাবে আমাদের প্রকল্প তৈরি করবেন
সুতরাং আসুন আমাদের প্রকল্প নির্মাণের সাথে শুরু করা যাক. আপনার টার্মিনাল খুলুন এবং নিম্নলিখিত কমান্ড টাইপ করুন:
django-admin startproject myapp
এটি আপনার রুট ফোল্ডারে myapp নামে একটি জ্যাঙ্গো অ্যাপ্লিকেশন তৈরি করে।
cd myapp
টাইপ করে এটিতে ডিরেক্টরি পরিবর্তন করুন এবং python manage.py runserver
টাইপ করুন . তাহলে আপনার এটি পাওয়া উচিত:
এখন সার্ভার চালু হয়েছে। এর পরে, ব্রাউজারে এটি পরীক্ষা করতে 127.0.0.1:8000 এ যান৷
এবং বুম! আপনার দেখতে হবে যে জ্যাঙ্গো সফলভাবে সেটআপ হয়েছে৷
পরবর্তী কাজটি আমাদের করতে হবে তা হল আমাদের জ্যাঙ্গো অ্যাপ তৈরি করা। জ্যাঙ্গোতে, প্রকল্প ফোল্ডারটি রুট হিসাবে কাজ করে যখন অ্যাপটি নিজেই অ্যাপ্লিকেশন হিসাবে কাজ করে।
একটি জ্যাঙ্গো অ্যাপ তৈরি করতে, নিশ্চিত করুন যে আপনি এখনও ডিরেক্টরিতে আছেন, তারপর python manage.py startapp todo
টাইপ করুন . এটি আমাদের myapp প্রকল্পে একটি করণীয় অ্যাপ তৈরি করে:
তারপর টোডো ফোল্ডারের ভিতরে আমাদের এরকম কিছু দেখতে হবে:
যখন আমরা তাদের সাথে কাজ শুরু করব তখন আমরা ফাইলগুলিকে আরও একবার দেখব৷
৷কিভাবে আমাদের অ্যাপ্লিকেশন কনফিগার করবেন
এখন জ্যাঙ্গো প্রকল্পের মাধ্যমে অ্যাপটি পরিবেশন করা সম্ভব করা যাক। প্রথমত, আপনার settings.py
খুলুন myapp ফোল্ডারে ফাইল করুন এবং 'todo'
যোগ করুন এইভাবে ইনস্টল করা অ্যাপগুলিতে:
পরবর্তীতে আমাদের urls.py
খুলতে হবে এবং আপনার কোডে নিম্নলিখিত যোগ করুন:
from django.urls import path, include
path('', include('todo.urls'))
আসলে কি ঘটেছে যে আমি include
যোগ করেছি django.urls
থেকে তে আমদানি পথ। এবং পথের নীচে (admin
) , আমরা একটি খালি পথ তৈরি করেছি যা urls.py
নির্দেশ করে বা অন্তর্ভুক্ত করে টোডো অ্যাপ ডিরেক্টরিতে ফাইল করুন। আমি আশা করি এটা পরিষ্কার।
এরপরে আমাদের urls.py
নামের টোডো ফাইল ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করতে হবে এবং এতে নিম্নলিখিত কোড যোগ করুন:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='home')
]
আমরা path
আমদানি করেছি Django.urls
থেকে এবং আমদানি করা views
রুট ডিরেক্টরি থেকে। তারপর আমরা আমাদের urlpatterns
তৈরি করেছি রুট লিঙ্ক হিসাবে প্রথম অংশ সঙ্গে. আপনি দেখতে পাচ্ছেন, views.index এর মানে হল আমরা এই ভিউগুলিকে views.py
-এ ইনডেক্স ফাংশনের দিকে নির্দেশ করছি ফাইল আপনি দেখতে পাবেন কিভাবে এটি এক নিমিষেই কাজ করে।
চলুন আমাদের views.py
এ এগিয়ে যাই ফাইল করুন এবং কিছু কোড যোগ করুন।
শীর্ষে, HttpResponse
আমদানি করুন এই মত:
from django.http import HttpResponse
এবং এটির নীচে এটি যোগ করুন:
def index(request):
return HttpResponse('Hello')
আপনি দেখতে পাচ্ছেন, আমরা আমাদের urls.py
-এ যে সূচী ফাংশনটি কল করেছি তা তৈরি করেছি এবং আমরা এটিতে একটি অনুরোধ পরামিতি পাস করি। তারপর আমরা একটি HttpResponse
ফেরত দিয়েছি .
কিন্তু HttpResponse
এর আগে কাজ করতে পারে, আমাদের এটি django.http import HttpResponse
থেকে আমদানি করতে হবে - ABC এর মতো সহজ। আসুন এটি চেষ্টা করুন:আপনার টার্মিনাল খুলুন এবং myapp এ সিডি টাইপ করুন এবং python manage.py runserver
এটি পরীক্ষা করার জন্য।
আপনি দেখতে পাচ্ছেন, এটি প্রতিক্রিয়া ফিরিয়ে দিয়েছে। তাই পরবর্তীতে আমরা আমাদের টেমপ্লেট HTML ফাইল লোড করব।
আমাদের HTML ফাইলগুলি লোড করার জন্য আমাদের এই ক্রমে টোডো ডিরেক্টরিতে এইরকম একটি ফোল্ডার তৈরি করতে হবে:
todo/templates/todo
Todo ডিরেক্টরিতে, টেমপ্লেট নামে একটি ফোল্ডার তৈরি করুন। সেই ফোল্ডারের ভিতরে, টোডো নামে একটি ফোল্ডার তৈরি করুন, যতটা সহজ।
তারপরে এগিয়ে যান এবং index.html নামে একটি সাধারণ HTML ফাইল তৈরি করুন এবং এতে এটি লিখুন:
<h1>Hello world</h1>
এটি লোড করতে, আপনার views.py
তৈরি করুন কোড দেখতে এইরকম:
def index(request):
return render(request, 'todo/index.html')
এখন উত্তর দেওয়ার পরিবর্তে আমরা একটি রেন্ডার ভিউ ফিরিয়ে দিয়েছি যা আমাদের এখন আমাদের এইচটিএমএল টেমপ্লেট রেন্ডার করতে দেয়, এটি আপনার টার্মিনাল সিডিটি মাইঅ্যাপে খুলুন এবং এটি চালান। আমাদের এটা থাকা উচিত
আপনি দেখতে পাচ্ছেন যে এটি ভালভাবে কাজ করে - পরবর্তী ধাপে।
কিভাবে স্ট্যাটিক ফাইল সেট আপ করবেন
এখন স্ট্যাটিক ফাইল সেট আপ করতে, আপনার টোডো ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করুন এবং এটিকে স্ট্যাটিক নাম দিন। সেই ফোল্ডারের ভিতরে, একটি ফোল্ডার তৈরি করুন এবং এটির নামকরণ করুন৷
সুতরাং এটি এই মত হওয়া উচিত:/static/todo/
.
todo ডিরেক্টরিতে, একটি ফাইল তৈরি করুন এবং এটির নাম দিন main.css
. তাহলে এর মধ্যে একটু স্টাইলিং লিখি:
body {
background-color: red;
}
এবং এটি সংরক্ষণ করুন।
এখন আমাদের index.html
পুনরায় সম্পাদনা করা যাক এই কোডটি লিখে ফাইল করুন:
{% load static %}
<!Doctype html>
<html>
<head>
<title>My page</title>
<link rel="stylesheet" href="{% static 'todo/main.css' %}" >
</head>
<body>
Hello
</body>
</html>
এবং এখন এটি চালানো যাক:
আপনি যদি আমাকে অনুসরণ করে থাকেন, তাহলে আপনার উপরেরটি থাকা উচিত।
কীভাবে মডেল এবং অ্যাডমিন প্যানেল লোড করবেন
এখন আমাদের অ্যাডমিন প্যানেল লোড করার জন্য, আমাদের একটি সুপার ইউজার তৈরি করতে হবে। এটি করা সহজ - শুধু আপনার টার্মিনাল খুলুন এবং myapp ফোল্ডারে cd তারপর python manage.py createsuperuser
টাইপ করুন এবং এন্টার চাপুন। আপনার এটি দেখা উচিত:
আমরা একটি ত্রুটি পেয়েছি কারণ আমরা python manage.py migrate
চালাইনি৷ এখনো. সুতরাং এটি টাইপ করুন এবং এন্টার টিপুন, এবং আপনার এইরকম কিছু থাকা উচিত:
এখন python manage.py createsuperuser
টাইপ করুন এবং এন্টার টিপুন:
শুধু শংসাপত্র পূরণ করুন. পরবর্তী যে কাজটি আমাদের করতে হবে তা হল আমাদের সার্ভার চালানো এবং 127.0.0.1:8000/এডমিনকে নির্দেশ করা।
লগইন করুন এবং আপনাকে ড্যাশবোর্ডে পাঠানো হবে:
এখন আমরা অ্যাডমিন প্যানেল করেছি, আসুন মডেল (ডাটাবেস) নিয়ে কাজ করি। আমরা একটি মডেল তৈরি করব যা বিষয়বস্তু সংগ্রহ করে। তাই আপনার models.py
খুলুন ফাইল এবং এই কোড টাইপ করুন:
class Post(models.Model):
content = models.CharField(max_length=255, null=False)
def __str__(self):
return self.content
আমরা একটি ক্লাস তৈরি করি যেখানে models.Model
প্যারামিটার আছে এবং একটি পরিবর্তনশীল content
দেয় যেটিতে একটি CharField()
আছে , আরো একটি পাঠ্য ক্ষেত্রের মত. অবশেষে আমরা একটি ম্যাজিক str
তৈরি করি যা একটি বস্তুর পরিবর্তে মডেলের নাম প্রদান করে।
তাই পরবর্তীতে আমাদের মাইগ্রেশন চালাতে হবে। আপনার টার্মিনাল খুলুন, myapp এ cd করুন এবং python manage.py makemigrations
টাইপ করুন . আপনার এটি দেখা উচিত:
অর্থাৎ এটি আমাদের ডাটাবেসে পোস্ট টেবিল তৈরি করেছে। তারপর python manage.py migrate
চালান যার ফলে নিম্নলিখিত হবে:
এর মানে হল সব পরিষ্কার। এখন এটি অ্যাডমিন পৃষ্ঠায় যোগ করতে, admin.py
খুলুন এবং এই কোডটি টাইপ করুন:
from .models import *
admin.site.register(Post)
আমরা মডেল থেকে সমস্ত মডেল ক্লাস আমদানি করেছি এবং অ্যাডমিন প্যানেলে পোস্ট মডেলটি নিবন্ধিত করেছি। এখন আমরা অ্যাডমিন প্যানেল খুললে আমাদের পোস্ট দেখতে হবে এবং কিছু ডেটা সংরক্ষণ করতে হবে।
লক্ষ্য করুন যে এটি এখন করণীয় অ্যাপ তালিকায় রয়েছে:
এটিতে ক্লিক করার পরে আপনার এটি দেখতে হবে:
তারপর আপনি চাইলে একটি পোস্ট তৈরি করতে পারেন৷
৷ডিবি থেকে ভিউতে কীভাবে ডেটা রেন্ডার করবেন
অবশেষে আমরা ডিবি থেকে আমাদের ডেটা আনব। এটি করার জন্য আমাদের views.py
আপডেট করতে হবে নিম্নরূপ:
from .models import *
def index(request):
content = Post.objects.all()
context = {'content': content}
return render(request, 'todo/index.html', context)
এটা ততটাই সহজ:আমরা models.py
থেকে সব ইম্পোর্ট করেছি , content
নামে একটি ভেরিয়েবল তৈরি করেছে , এবং টেবিল পোস্ট থেকে সমস্ত ডেটা পুনরুদ্ধার করা হয়েছে। তারপর আমরা আমাদের দৃষ্টিভঙ্গি একটি অভিধান হিসাবে পাস. তাই আমাদের index.html-এ এটি কাজ করার জন্য শুধু এই যোগ করুন:
{% for contents in content %}
{{content.content}}
{% endfor %}
এখানে, আমরা টেমপ্লেট ট্যাগ ব্যবহার করে একটি লুপ লিখেছি এবং সমস্ত ডেটা সামগ্রী নিয়ে এসেছি। এখন আপনার টার্মিনাল খুলুন, myapp-এ cd করুন এবং যাদুটি দেখতে সার্ভার চালান:
এটি কাজ করে, তবে আসুন নিশ্চিত করি যে এটি করে:
এবং ফলাফল নিম্নলিখিত হওয়া উচিত:
ভায়োলা - এটা ঠিক কাজ করে। অবশেষে আপনি শুধু একটি লাইন বিরতি যোগ করতে পারেন যাতে আপনি এটি আরও স্পষ্টভাবে পড়তে পারেন। এবং আমরা শেষ!
পড়ার জন্য আপনাকে ধন্যবাদ. আপনি যদি গভীরভাবে জ্যাঙ্গো টিউটোরিয়াল দেখতে চান তাহলে অনুগ্রহ করে আমার YouTube চ্যানেল Devstack দেখুন এবং সাবস্ক্রাইব করুন।