# প্রথম প্রজেক্ট শুরু

উইন্ডোজের ডেস্কটপে প্রজেক্ট করতে চাইলে `cd desktop` লিখে ডেস্কটপকে কারেন্ট ওয়ার্কিং ডিরেক্টরি বানিয়ে নিন) এরপর নিচের কমান্ডটি লিখে এন্টার চাপুনঃ&#x20;

```bash
Django-admin startproject myproject
```

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2F4bfR4QfVKvGiB4VXAsl9%2Fimage.png?alt=media&#x26;token=44ad8c50-17de-424d-b86e-860b203abafa" alt=""><figcaption></figcaption></figure>

Myproject হল প্রজেক্ট এর নাম, এটা আপনার ইচ্ছা অনুযায়ী যেকোন কিছু দিতে পারেন। আপনার কারেন্ট ডিরেক্টরিতে প্রজেক্টের নামে ফোল্ডার তৈরি হয়ে যাবেঃ

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2F04llI8xpxhxXxOCc5vpR%2Fimage.png?alt=media&#x26;token=d732f7e1-0da7-4d57-b6f4-81d68dfa7448" alt=""><figcaption></figcaption></figure>

সেটার ভিতরে একটি ফাইল (manage.py) এবং একটি ফোল্ডার (myproject) থাকবে:

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2Fb54rdBjQCLAk1iQ3RBa2%2Fimage.png?alt=media&#x26;token=dd2d9e2e-70cd-485b-9679-7d2c3ac8eaa4" alt=""><figcaption></figcaption></figure>

লক্ষ্য করুন, প্রোজেক্টের নামে কিন্তু ফোল্ডার মোট দুইটা, একটার ভিতর আরেকটা! বাইরের ফোল্ডার এর নাম রিনেম করে যা ইচ্ছা দিতে পারবেন সমস্যা নেই! তবে ভিতরের Myproject ফোল্ডারটিই আসলে মূল প্রজেক্ট! এটার নাম চেঞ্জ করবেননা! ভিতরের myproject ফোল্ডারে চারটা পাইথন মডিউল আছে, সেগুলোর সাথে একটু পরিচিত হয়ে নেই!

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2FQPamyKmYoKY0EiFSJJ9U%2Fimage.png?alt=media&#x26;token=c27da043-0fec-497e-9d86-e5aefa21cf42" alt=""><figcaption></figcaption></figure>

**init**.py খালি ফাইল, ভিতরে কোড নেই! কোন ফোল্ডারকে পাইথন প্যাকেজ বানানোর জন্য এটা থাকে! Settings.py নাম দেখেই বোঝা যাচ্ছে, প্রোজেক্টের সব সেটিংসগুলো এই ফাইলে থাকবে। Urls.py ওয়েবসাইটের ইউআরএল গুলো এখানে ডিফাইন করা থাকবে! এসম্পর্কে আমরা পরে বিস্তারিত জানব। Wsgi.py সার্ভার সেটিংস, মাথা ঘামানোর দরকার নেই। প্রোজেক্ট ডেপ্লয় করার সময় লাগবে।

এছাড়াও বাইরের manage.py মডিউলটি খুবই গুরুত্বপুর্ন! এখন থেকে আমাদের প্রায় সকল কমান্ডগুলই এই মডিউলের মাধ্যমে করতে হবে! কিভাবে করব সেটা আস্তে আস্তে জানব!

প্রোজেক্ট তৈরি করার কাজ শেষ, এখন দেখতে হবে যে প্রজেক্ট ঠিকমত কাজ করে কিনা !

জ্যাঙ্গো ওয়েবফ্রেমওয়ার্ক হল সার্ভার সাইড ফ্রেমওয়ার্ক! অর্থাৎ জ্যাঙ্গো দিয়ে ওয়েবসাইটের ব্যাকএন্ড তৈরি করা হয়, এবং তা সার্ভারের মাধ্যমে পরিচালিত হয়। আমরা যখন আমাদের প্রোজেক্টটি লাইভ/প্রোডাকশন সার্ভারে/হোস্টিংএ ডেপ্লয়/আপ্লোড করব তখন সেই সার্ভারটাই আমাদের জ্যাঙ্গো প্রোজেক্ট রান করবে! কিন্তু প্রোজেক্ট তৈরি করার সময় আমাদের নিজেদের কম্পিটারে জ্যাঙ্গো কিভাবে রান করব ?

এর সহজ সমাধান জ্যাঙ্গোর মধ্যেই রয়েছে, একটি লাইটওয়েট ডেভলপমেন্ট সার্ভার! যেটা জ্যাঙ্গোর সাথে বিল্টইন ভাবে থাকে। আমরা সেটাই ব্যবহার করব!

কমান্ড প্রম্পটে (টার্মিনালে) ভার্চুয়াল এনভায়র্নমেন্ট একটিভ করুন। cd কমান্ড দিয়ে প্রোজেক্ট ফোল্ডারটিকে (যেটার ভিতর manage.py মডিউল রয়েছে) কারেন্ট ওয়ার্কিং ডিরেক্টরি হিসেবে সেট করুন! এর পর নিচের কমান্ড টি দিনঃ

```bash
Python manage.py runserver
```

সব ঠিক থাকলে আপনার ডেভেলপমেন্ট সার্ভার চালু হবে এবং কমান্ড প্রম্পটে নিচের মত তথ্য দেখা যাবেঃ

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2FYUfwWC2canydUTcRDKHF%2Fimage.png?alt=media&#x26;token=110073e6-f770-4429-b669-6e51b7e705b3" alt=""><figcaption></figcaption></figure>

ডেভলপমেন্ট সার্ভার চালু হয়ে গেল। এখন কোন একটি ওয়েবব্রাউজার ওপেন করুন এবং এই ঠিকানায় যানঃ

<http://127.0.0.1:8000/>

উপরের ঠিকানায় গেলে আপনি এরকম একটা পেইজ দেখতে পাবেন যেখানে লেখা থাকবে

<figure><img src="https://664948176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdX27l90MHtjXhtBupXys%2Fuploads%2FIcBBmLAX3rgr4fBSrI9j%2Fimage.png?alt=media&#x26;token=ce19e6f9-1aba-4682-91e2-f337d542930c" alt=""><figcaption></figcaption></figure>

নেটওয়ার্কের যেকোন কম্পিউটার থেকে এক্সেস নিতে নিচের মত করে সার্ভার রান করতে হবে মনে করি আমার আইপি 192.168.10.29 তাহলে&#x20;

```
python manage.py runserver 192.168.10.29:8000
```
