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

相关文章
相关标签/搜索