পাইথন ব্যবসায়ের যুক্তিটি ঠিক কোথায় জ্যাঙ্গোতে রাখা উচিত


26

আমি সবে জাজানো / পাইথন / ওয়েব ডেভেলপমেন্ট শিখতে শুরু করেছি। এই সমস্যাটি আমাকে কিছুক্ষণ ধরে কষ্ট দিচ্ছে।

আমি জ্যাঙ্গোতে একাধিক টেম্পলেট সহ একটি অ্যাপ্লিকেশন তৈরি করছি। আমার কাছে একটি ভিউ.পি রয়েছে যা মূলত কেবলমাত্র সম্পর্কিত টেম্পলেটগুলিতে প্রতিক্রিয়াগুলি উপস্থাপন করে এবং আমার একটি মডেল.পি রয়েছে যেখানে আমি আমার ডিবি গঠন করেছি। আমার একটি টেম্পলেটগুলিতে আমাকে একটি চিত্র আপলোড করতে হবে (যা আমি করতে সক্ষম) এবং আমার একটি যুক্তি চালাতে হবে যা আপলোড হওয়া চিত্রের বৈশিষ্ট্যগুলির ভিত্তিতে তৈরি হয়েছে (এখনও হয়নি)। এই যুক্তিতে প্রচুর ভারী গণনা জড়িত। গণনা সম্পাদন করার পরে, যুক্তিকে কিছু প্রক্রিয়াজাত তথ্য (স্থানাঙ্ক) টেমপ্লেটে ফিরিয়ে দেওয়া উচিত।

আমি এই সমস্ত ক্রিয়াটি একের পর এক পাইথন ডাইরেক্টপ অ্যাপ্লিকেশন কল করে পাইথন ডেস্কটপ অ্যাপ্লিকেশনটিতে সফলভাবে করতে সক্ষম হয়েছি। তবে, যেহেতু আমি এখন এটি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করতে চাই আমি জাজানো ফ্রেমওয়ার্কটি ব্যবহার শুরু করেছি।

আমি অনেক অনুসন্ধান করেছি কিন্তু আমি এখনও এই যুক্তিটি সহ পাইথন ফাইলটি ঠিক কোথায় স্থাপন করব তা নির্ধারণ করতে পারছি না। আমার আরও একটি ক্লাস ভিত্তিক ফাইল থাকা উচিত (logic.py)এবং এটি থেকে কল করা উচিত view.py? আমি গুগল করে দেখতে পেলাম যে অনেক বিকাশকারীরা তাদের ব্যবসায়িক যুক্তি তাদের জাজানো মডেলগুলিতে রেখেছেন py তবে, আমি অনুভব করি যে এটি স্বজ্ঞাতভাবে সঠিক নয় কারণ মডেলটির একচেটিয়াভাবে শেষ প্রান্তের সাথে যোগাযোগ করা উচিত। কোন সাহায্য প্রশংসা করা হবে। অগ্রিম ধন্যবাদ।



একটি নিবন্ধ পাওয়া গেছে যা এই বিষয়টিকে ব্যাপকভাবে আলোচনা করে (পিরামিডকে মাথায় রেখে, জ্যাঙ্গো নয়)। কিছু বোধগম্য ঠাট্টা আছে: nando.oui.com.br/2014/04/01/…
kratenko

উত্তর:


16

আমি অনেক অনুসন্ধান করেছি কিন্তু আমি এখনও এই যুক্তিটি সহ পাইথন ফাইলটি ঠিক কোথায় স্থাপন করব তা নির্ধারণ করতে পারছি না।

আপনার প্রয়োজনীয়তাগুলি কিসের উপর নির্ভর করে বিভিন্ন বিকল্প রয়েছে:

  1. Imageমডেল যেমন যুক্তি যুক্ত করুন । আপনার যদি ডাটাবেসে প্রতি-চিত্র মেটা ডেটা সঞ্চয় করতে হয় এবং প্রতিটি মডেল উদাহরণ (প্রতিটি চিত্র) নিজেই প্রক্রিয়াজাত হয় তবে এটি একটি দরকারী বিকল্প।

  2. একটি প্লেইন পাইথন যেমন যুক্তিবিজ্ঞান যোগ Imageবর্গ, যেমন নামক একটি ফাইলে image.py। জ্যাঙ্গোর কোনও কিছুইই আপনাকে মডিউল viewsবা modelsমডিউল ব্যতীত যুক্তি যুক্ত করা থেকে বিরত রাখে। যদি ইমেজ লজিকটি আপনার জ্যাঙ্গো অ্যাপ্লিকেশনটির (যেমন একটি চিত্র প্রক্রিয়াকরণ অ্যাপ্লিকেশন) কেন্দ্রীয় উপাদান হয় তবে এটি একটি ভাল বিকল্প।

  3. একটি পৃথক পাইথন প্রকল্প তৈরি করুন যা যুক্তি সরবরাহ করে, তারপরে আপনার দর্শন থেকে কল করুন। আপনার জাজানো অ্যাপ্লিকেশনটির পাইথন পরিবেশে এই প্রকল্পটি ইনস্টল করার বিষয়টি নিশ্চিত করুন। আপনার জাজানো অ্যাপ্লিকেশনটির উদ্দেশ্য চিত্রগুলি আপলোড এবং দেখা বা কোনও ব্যবহারকারীর অনুরোধের প্রত্যক্ষ প্রতিক্রিয়াতে চিত্র প্রক্রিয়াকরণের ফলাফলগুলি দেখানো যদি এই বিকল্পটি বৈধ হয় তবে যেখানে অন্যান্য প্রকল্পের দ্বারাও চিত্র প্রক্রিয়াকরণ ব্যবহার করা যেতে পারে।

  4. একটি পৃথক অ্যাপ্লিকেশন তৈরি করুন যা অ্যাসিঙ্ক্রোনিকভাবে অনুরোধগুলি প্রক্রিয়া করে এবং আপনার জ্যাঙ্গো অ্যাপ্লিকেশন থেকে পৃথকভাবে চালিত হয়। আপনি যদি অ্যাপ্লিকেশনটির অনুরোধ চক্র থেকে চিত্র প্রক্রিয়াকরণকে ডিক্লোল করার প্রয়োজন হয়, প্রচুর সংখ্যক চিত্র প্রক্রিয়াকরণ করতে পারেন বা যেখানে প্রতিটি গণনা একটি অনুরোধ চক্রের সময়ের মধ্যে সমাধান করতে খুব বেশি সময় নেয় (প্রায় 500 মিমি থেকে 1 এস এর মধ্যে বলুন) ।

আমি অনুভব করি যে এটি স্বজ্ঞাতভাবে সঠিক নয় কারণ মডেলটির একচেটিয়াভাবে শেষ প্রান্তের সাথে যোগাযোগ করা উচিত।

জাজানোতে এমন কোনও কিছুই নেই যা পিছনের প্রান্তে বা ডাটাবেসটির সাথে যোগাযোগের জন্য একটি মডেল প্রয়োজন। আমি মনে করি আপনি জ্যাঙ্গো সাধারণত কোন মডেল হিসাবে বিবেচনা করেন সেটির শব্দকোষগুলি মিশ্রণ করছেন (যথা, ডাটাবেসে এক বা একাধিক টেবিলের বিমূর্ততা), একটি নকশা নির্মাণ হিসাবে শব্দটি মডেল বনাম (যেমন ডোমেন চালিত ডিজাইনে)।


ধন্যবাদ! এটি সত্যিই অন্তর্দৃষ্টিপূর্ণ ছিল I আমি মনে করি number নম্বর বিকল্পটি আমার পক্ষে যথেষ্ট ভাল হওয়া উচিত। :)
আদ্রিতা

উত্তরের নেতিবাচক রেট দেওয়া ঠিক আছে তবে দয়া করে একটি মন্তব্য যুক্ত করুন যাতে আমি এটির উন্নতি করতে পারি
অলৌকিক ঘটনা

5

"জাজানোর দুটি স্কুপস" এর সহ-লেখক ড্যানিয়েল গ্রিনফিল্ড পরামর্শ দিয়েছেন ব্যবসায়ের যুক্তি মডেলগুলিতে হওয়া উচিত "সম্ভব হলে বা ফর্মগুলিতে আপনার প্রয়োজন হলে।" বার্টের সম্ভাব্য সদৃশ হিসাবে, জ্যাঙ্গো এমভিসির অনুরূপ হতে পারে তবে এটি হ'ল এমভিসি নয়। সরকারী জাঙ্গো ডকুমেন্টেশন ফ্যাক্টে এখানে ব্যাখ্যা করা হয়েছে @ আদ্রিতা, আমি মনে করি আপনাকে মডেল, ভিউ এবং টেমপ্লেটগুলির ধারণাটি আরও ভালভাবে বুঝতে সহায়তা করার জন্য অফিসিয়াল ডকুমেন্টেশনগুলি পর্যালোচনা করার প্রয়োজন হতে পারে।


আপনার পরামর্শের জন্য ধন্যবাদ। অবশ্যই ডকুমেন্টেশনের মাধ্যমে যাবেন :)
অ্যাড্রিটা

আপনি খুশি হয়েছি যে এটি ঠিক হয়ে গেছে, @ মিরাকুলিক্সেক্স একটি কঠিন ব্যাখ্যা দিয়েছেন। আপনি যদি fb তে থাকেন তবে জ্যাঙ্গো পাইথন ফ্রেমওয়ার্ক গ্রুপে যোগ দিন।
দিন

2

অফিসিয়াল জ্যাঙ্গো ডক্স https://docs.djangoproject.com/en/1.11/ এ , এতে বলা হয়েছে:

কোনও ব্যবহারকারীর অনুরোধ প্রক্রিয়াকরণের জন্য এবং প্রতিক্রিয়া ফিরিয়ে দেওয়ার জন্য দায়ী যুক্তিকে সজ্জিত করার জন্য জ্যাঙ্গোর "মতামত" ধারণা রয়েছে। নীচের লিঙ্কগুলির মাধ্যমে দর্শন সম্পর্কে আপনার যা জানা দরকার তা সন্ধান করুন:

জ্যাঙ্গো দৃশ্যের মধ্যে যুক্তি যুক্ত করার পরামর্শ দেয়।


3
এটি অগত্যা ব্যবসায়ের যুক্তি হিসাবে একই নয়।
ফার্স্টলাস্টনেম

1
জ্যাঙ্গো ডকুমেন্টেশনের সেই ব্যাখ্যার সাথে আমি একমত নই। জ্যাঙ্গো ডকুমেন্টেশনের অন্য কোথাও (উদাহরণস্বরূপ Model.clean()) এটি আরও কিছুটা স্পষ্টভাবে বোঝানো হয়েছে যে (আমরা যদি কেবল মডেল, টেমপ্লেট এবং দর্শনগুলিতে একটি বাস্তব-বিশ্বের জ্যাঙ্গো প্রকল্প) - ব্যবসায়িক যুক্তি (বা খুব কমপক্ষে, বৈধকরণ) এর অন্তর্গত মডেল স্তর। মনে রাখবেন যে আমি সেই সরলীকরণে ফর্মগুলি অন্তর্ভুক্ত করি নি, যা গ্রহণযোগ্য।
Kye আর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.