Django3-打包本身的應用程序

你們好,我是言淦,我今天帶來的文章是《Django3-打包本身的應用程序》,但願能給大家帶來幫助!python

環境: Django 2.2.1 + Python 3.6.7shell

"不要重複造輪子"算是編程界的一條原則,因此當咱們擼出了不少應用的時候,應用的複用是咱們值得關注的問題。django

建立一個須要複用的應用

$ django-admin startproject myproject
 $ python manage.py startapp my_app
複製代碼

加上點功能(方便驗證)

# my_app/views.py
from django.http import HttpResponse

def app_index(request):
    return HttpResponse("Hello World")


# myproject/urls.py
from my_app import views

urlpatterns = [
    # 這個去掉,由於可能會與新項目的admin衝突
    # path('admin/', admin.site.urls),
    path('my_app/', views.app_index)
]

# myproject/settings.py
INSTALLED_APPS = [
    ...
    'my_app'
]

# 啓動, 瀏覽器打開http://127.0.0.1:8000/my_app/即可看到」Hello World「
複製代碼

打包咱們的應用(my_app)

此處可參考官方文檔: docs.djangoproject.com/zh-hans/2.2… 大體步驟以下:編程

1.拷貝myapp目錄到一個另外的目錄 注意新版本的Dj建立應用時(my_app)時並不會建立urls.py文件, 因此須要將上述的myproject/urls.py複製一份放到my_app文件夾,這樣引用的時候就不會出錯(path('my_app/', include('my_app.urls'))), 若是缺失此文件,會報」ModuleNotFoundError: No module named 'my_app.urls'「的錯誤提示。瀏覽器

2.編寫文檔中提到的各類文件bash

3.選擇一個開源協議: choosealicense.comapp

4.定義你的包名: setup.py的 name 設置項 包名只是pip安裝的時候使用,實際引用的時候仍是my_appurl

5.訪問的時候是 http://127.0.0.1:8000/my_app/my_app/, 不是http://127.0.0.1:8000/my_appspa

6.Python程序的打包:packaging.python.org/tutorials/p…code

相關文章
相關標籤/搜索