رفتن به مطلب
جامعهٔ برنامه‌نویسان مُدرن ایران

پست های پیشنهاد شده

سلام.
با توجه به اینکه هر چیزی که در جنگو میسازید یک app محسوب میشه و جنگو قابلیت بسیار خوبی برای به انتشار دادن app های خودتون به صورت پکیج(package) میدهد.?

در djangopackages  میتوانید لیستی از آنهارا مشاهده و یا استفاده بکنید.

توسعه ی پکیج جنگو

در مرحله ی اول پیشنهاد مستندات رسمی جنگو میگوید اول اسم برنامه ی خود عبارت django- را بگذارید.

به عنوان مثال اگر برنامه ی شما اسمی مثل todo  باشد اسم به صورت django-todo در می آید.

 

داکیومنت

در مرحله ی دوم شما باید برای پکیج خودتون یک راهنما ایجاد بکنید.

معمولا در پوشه ی پکیج فایلی به نام README.rst ایجاد میکنند و راهنمارا داخل آن مینویسند.

برای مثال برای برنامه ی ما به این گونه میشود :

=====
ToDo
=====

ToDo is a Django app to conduct Web-based Todo. For each task,
jobs can choose a time limit or done it when you want.

Detailed documentation is in the "docs" directory.

Quick start
-----------

1. Add "todo" to your INSTALLED_APPS setting like this::

    INSTALLED_APPS = [
        ...
        'todo',
    ]

2. Include the todo URLconf in your project urls.py like this::

    path('todo/', include('todo.urls')),

3. Run `python manage.py migrate` to create the polls models.

4. Visit http://127.0.0.1:8000/todo/ to add and finish your todos.

البته همانطور که در متن مشاهده میکنید مستندات بیشتر راجب پکیج شما در پوشه ی docs قرار داده میشوند.

 

لایسنس

در این بخش به بحث خوب لایسنس میرسیم?

شما در این مسیر باید محتویات لایسنس خود رو قرار بدید:

django-todo/LICENSE

بسیاری از پکیج های جنگو تحت لایسنس BSD هستند ولی شما آزادید تا هر چیزی را انتخاب بکنید.

 

setup

در این مرحله شما دو فایل setup.cfg و setup.py میسازید تا برنامه شما بیلد و برای نصب آماده شود.

آموزش این دو از بحث این مقاله فراتر میرود ولی میتونید به این لینک برای یاد گیری  و مطالعه بیشتر مراجعه کنید.

در مثال ما فایل setup.cfg بدین گونه میشود.

[metadata]
name = django-todo
version = 0.1
description = A Django app to conduct Web-based todo.
long_description = file: README.rst
url = https://www.example.com/
author = Your Name
author_email = yourname@example.com
license = BSD-3-Clause  # Example license
classifiers =
    Environment :: Web Environment
    Framework :: Django
    Framework :: Django :: X.Y  # Replace "X.Y" as appropriate
    Intended Audience :: Developers
    License :: OSI Approved :: BSD License
    Operating System :: OS Independent
    Programming Language :: Python
    Programming Language :: Python :: 3
    Programming Language :: Python :: 3 :: Only
    Programming Language :: Python :: 3.6
    Programming Language :: Python :: 3.7
    Programming Language :: Python :: 3.8
    Topic :: Internet :: WWW/HTTP
    Topic :: Internet :: WWW/HTTP :: Dynamic Content

[options]
include_package_data = true
packages = find:

و قاعدتا فایل setup.py ما بدین شکل میشود:

from setuptools import setup

setup()

و مراحلی بعدی وجود دارد که اختیاری است مثل اضافه کردن فایل MANIFEST.in برای استفاده کردن از فایل های اضافه و ... .

 

خوب حالا برای اجرای setup.py . بیلد گرفتن از پروژمون از دستور زیر استفاده میکنیم:

python manage.py sdist

و فایل با پسوند tar.xz ایجاد میشود.

تبریک میگم شما پکیج جنگوی خود رو ساختید.?

 

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...