मैं और एक दोस्त एक प्रोजेक्ट पर काम करने वाले हैं। मेरे पास अपने विचारों के साथ काम करने के लिए एक ढांचा है। यदि मैं उपयोगकर्ता मॉडल के साथ काम कर रहा हूं, और मैं सीआरयूडी ऑपरेशन के लिए कोड लिखना चाहता हूं, तो मैं चार अलग-अलग वर्गों का उपयोग करके लिखता हूं। प्रत्येक के लिए एक ऐसा:

class CreateUser(FormView):
    <code here>


class ReadUser(DetailView):
    <code here>


class UpdateUser(UpdateView):
    <code here>


class DeleteUser(DeleteView):
    <code here>

प्रत्येक का एक संबंधित URL पैटर्न होता है:

urlpatterns = [
    path("auth/users/create-user/", CreateUser().as_view(), name="create_user"),
    path("auth/users/<int:pk>", ReadUser().as_view(), name="user_detail"),
    path("auth/users/<int:pk>/update", UpdateUser().as_view(), name="update_user"),
    path("auth/users/<int:pk>/delete/", DeleteUser().as_view(), name="delete_user")
]

उनका प्रस्ताव है कि इसके बजाय, सभी कार्यात्मकता एक वर्ग में होनी चाहिए और विधियों द्वारा निष्पादित की जानी चाहिए, जैसे:

class UserView(View):
    <class variables>

    def post(self, request):
        <code here>

    def get(self, request):
        <code here>

    def patch(self, request):
        <code here>

    def delete(self, request):
        <code here>

और urlpatterns हो:

urlpatterns = [
    path("auth/users/", UserView.as_view(), name="user")
]

मेरे पास जो प्रश्न हैं वे बेहतर हैं:

  1. Django-वार;
  2. आम तौर पर;
  3. django में सर्वर की ओर से प्रतिपादन करते समय;
  4. django में एपीआई लिखते समय

पहला या दूसरा?

0
Lord_Sarcastic 17 अप्रैल 2020, 20:23

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आपके मित्र का प्रस्ताव सही दिशा में जाता है और मैं थोड़ा और आगे बढ़ूंगा।

मैं आपको Django Rest Framework का उपयोग करने की सलाह देता हूं। इसमें पहले से ही कक्षा-आधारित दृश्य हैं जो आपको कोडिंग के लिए बहुत समय बचा सकते हैं।

आप जिस अनुकूलन का परिचय देना चाहते हैं, उसके आधार पर आप इनमें से चुन सकते हैं:

एपीआई व्यूज< /a> या मिक्सिन के साथ जेनरिक कक्षाएं

साथ ही, मैं उपयोगकर्ता पंजीकरण और उपयोगकर्ता प्रमाणीकरण के मिश्रण के बारे में सावधान रहूंगा। संसाधन "उपयोगकर्ता (ओं)" और "प्राधिकरण" को अलग रखना काफी सामान्य है।

अंतिम सलाह के रूप में, मैं आपको खुद से पंजीकरण और प्रमाणीकरण प्रक्रिया के निर्माण से बचने की सलाह दूंगा - हालांकि यह एक अच्छा सीखने का अभ्यास है और मौजूदा समाधान के लिए जाना है, या तो सार्वजनिक भंडार या पुस्तकालयों की विस्तृत विविधता जो आपको प्रदान कर सकती है टोकन निर्माण, OAUTH2, सामाजिक रजिस्टर और प्रमाणीकरण के साथ (सामाजिक Django फाई) और भी बहुत कुछ।

1
hectorcanto 17 अप्रैल 2020, 17:41