{"id":49811,"date":"2023-10-02T14:42:37","date_gmt":"2023-03-05T18:11:05","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/"},"modified":"2024-05-04T02:31:24","modified_gmt":"2024-05-03T18:31:24","slug":"%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/","title":{"rendered":"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6839\u636e\u4e4b\u524d\u7684\u6587\u7ae0\u300c\u5728minishift V1.28.0\u4e0a\u8fd0\u884cDjango2\u2460\u300d\u4e2d\u89c2\u5bdf\u5230\u7684\u7ed3\u679c\uff0c\u4ee5\u53ca\u6839\u636e\u300c\u5728Win10\u73af\u5883\u4e0b\u5c1d\u8bd5Django2\u7684REST API\u300d\u521b\u5efa\u7684\u9879\u76ee\uff0c\u6211\u4eec\u5c06\u5f00\u59cb\u5236\u4f5cs2i\u955c\u50cf\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Win10\u74b0\u5883\u3067Django2\u306eREST API\u3092\u8a66\u3057\u3066\u307f\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067Django2\u3092\u52d5\u304b\u3059\u2460\uff1a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u78ba\u8a8d<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067Django2\u3092\u52d5\u304b\u3059\u2461\uff1a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\uff06s2i\u30bd\u30fc\u30b9\u306e\u4f5c\u6210<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067Django2\u3092\u52d5\u304b\u3059\u2462\uff1as2i\u30bd\u30fc\u30b9\u306e\u4fee\u6b63\uff06\u30d3\u30eb\u30c9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067Django2\u3092\u52d5\u304b\u3059\u2463\uff1a\u6b8b\u8ab2\u984c<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067nginx+gunicorn+Django2\u3092\u52d5\u304b\u3059<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">minishift V1.28.0\u3067nginx+gunicorn+Django2\u3092\u52d5\u304b\u3059\u3002\u3042\u3063createsuperuser\u5fd8\u308c\u3066\u305f(\u7b11)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">openshift\u306b\u5bfe\u5fdc\u3059\u308b\u305f\u3081\u306eDjango2\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u6642\u306b\u6c17\u3092\u4ed8\u3051\u308b\u3079\u304d\u70b9<\/ul>\n<h1>\u67e5\u770b OpenShift \u4e0a django-ex.git \u7684\u6e90\u4ee3\u7801<\/h1>\n<p>\u9996\u5148\uff0c\u60a8\u53ef\u4ee5\u514b\u9686GitHub\u4e0a\u7684\u793a\u4f8b\u5b58\u50a8\u5e93\uff08https:\/\/github.com\/openshift\/django-ex.git\uff09\uff0c\u5c06\u5176\u5e26\u5230\u672c\u5730\u3002\u5c3d\u7ba1\u6211\u5df2\u7ecf\u7b80\u5316\u4e86\u4e00\u90e8\u5206\u5185\u5bb9\uff0c\u4f46\u5927\u81f4\u662f\u8fd9\u4e2a\u7ed3\u6784\u3002<\/p>\n<pre class=\"post-pre\"><code>\u251c\u2500conf\r\n\u251c\u2500openshift\r\n\u2502  \u251c\u2500scripts\r\n\u2502  \u2514\u2500templates\r\n\u251c\u2500project\r\n\u2502   \u251c\u2500__init__.py\r\n\u2502   \u251c\u2500database.py\r\n\u2502   \u251c\u2500settings.py\r\n\u2502   \u2514\u2500urls.py\r\n\u251c\u2500welcome\r\n\u2502   \u251c\u2500migrations\r\n\u2502   \u2514\u2500templates\r\n\u2502       \u2514\u2500welcome\r\n\u251c\u2500manage.py\r\n\u251c\u2500requirements.txt\r\n\u2514\u2500wsgi.py\r\n<\/code><\/pre>\n<p>conf\u7684\u5185\u5bb9\u662f\u67e5\u770b\u63d0\u4ea4\u65f6\u7684\u6ce8\u91ca\uff0c\u56e0\u4e3a\u662f\u4e3aGunicorn\u8fdb\u884c\u914d\u7f6e\u7684\uff0c\u6240\u4ee5\u4fdd\u6301\u4e0d\u53d8\u3002<br \/>\nopenshift\u5185\u90e8\u662f\u4e00\u4e2a\u5728\u521b\u5efaopenshift\u6a21\u677f\u65f6\u4f7f\u7528\u7684json\uff0c\u56e0\u6b64\u4fdd\u6301\u4e0d\u53d8\u3002<br \/>\n\u5728\u9879\u76ee\u76ee\u5f55\u4e2d\u5305\u542b\u4e86Django\u7684\u6e90\u4ee3\u7801\u7b49\u5185\u5bb9\uff0c<br \/>\n\u4f8b\u5982welcome\u7b49\u662f\u5305\u542b\u9759\u6001\u6a21\u677f\u7684\u3002<\/p>\n<h1>\u51c6\u5907 Django2\u7684s2i git\u3002<\/h1>\n<p>\u56e0\u6b64\uff0c\u5c07project\u548cwelcome\u5b8c\u5168\u522a\u9664\uff0c\u4e26\u4f7f\u7528\u5728&#8221;\u5728Win10\u74b0\u5883\u4e0b\u5617\u8a66Django2\u7684REST API&#8221;\u4e2d\u5275\u5efa\u7684Django2\u9805\u76ee\u9032\u884c\u8abf\u6574\uff0c\u611f\u89ba\u4e0a\u61c9\u8a72\u53ef\u4ee5\u9032\u884c\u5fae\u8abf\u3002<\/p>\n<pre class=\"post-pre\"><code>\u251c\u2500conf\r\n\u251c\u2500openshift\r\n\u2502  \u251c\u2500scripts\r\n\u2502  \u2514\u2500templates\r\n\u251c\u2500restapi\r\n\u2502  \u251c\u2500migrations\r\n\u2502  \u251c\u2500__init__.py\r\n\u2502  \u251c\u2500admin.py\r\n\u2502  \u251c\u2500apps.py\r\n\u2502  \u251c\u2500models.py\r\n\u2502  \u251c\u2500tests.py\r\n\u2502  \u2514\u2500views.py\r\n\u251c\u2500sample\r\n\u2502  \u251c\u2500__init__.py\r\n\u2502  \u251c\u2500settings.py\r\n\u2502  \u251c\u2500urls.py\r\n\u2502  \u2514\u2500wsgi.py\r\n\u251c\u2500manage.py\r\n\u2514\u2500requirements.txt\r\n<\/code><\/pre>\n<p>\u54ce\u5440\uff0c\u539f\u6765 wsgi.py \u4e0d\u5728\u6839\u76ee\u5f55\u4e0b\u3002\u6211\u4f1a\u628a\u5b83\u4ece sample \u76ee\u5f55\u4e0b\u590d\u5236\u5230\u6839\u76ee\u5f55\u4e0b\u3002<\/p>\n<pre class=\"post-pre\"><code>\u251c\u2500conf\r\n\u251c\u2500openshift\r\n\u2502  \u251c\u2500scripts\r\n\u2502  \u2514\u2500templates\r\n\u251c\u2500restapi\r\n\u2502  \u251c\u2500migrations\r\n\u2502  \u251c\u2500__init__.py\r\n\u2502  \u251c\u2500admin.py\r\n\u2502  \u251c\u2500apps.py\r\n\u2502  \u251c\u2500models.py\r\n\u2502  \u251c\u2500tests.py\r\n\u2502  \u2514\u2500views.py\r\n\u251c\u2500sample\r\n\u2502  \u251c\u2500__init__.py\r\n\u2502  \u251c\u2500settings.py\r\n\u2502  \u251c\u2500urls.py\r\n\u2502  \u2514\u2500wsgi.py\r\n\u251c\u2500manage.py\r\n\u251c\u2500requirements.txt\r\n\u2514\u2500wsgi.py\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u203bsample\u914d\u4e0b\u306e\u3092Copy\r\n<\/code><\/pre>\n<p>requirements.txt\u7684\u7ed3\u6784\u7b80\u5355\u5730\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code>django==2.1.4\r\ndjangorestframework\r\ndjango-filter\r\ngunicorn\r\n<\/code><\/pre>\n<p>\u5c06\u6b64\u63a8\u9001\u81f3GitLab\u3002<\/p>\n<h1>\u5728Minishift\u4e0a\u6311\u6218Django2<\/h1>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8d88913a08637a6d36a3\/16-3.png\" alt=\"33.png\" \/><\/div>\n<div>\n<div class=\"post-table\">\u5909\u6570\u521d\u671f\u5024\u8a2d\u5b9a\u5024<strong>Name<\/strong>django-examplesample<strong>Git Repository URL<\/strong><a class=\"autolink\" href=\"https:\/\/github.com\/sclorg\/django-ex.git\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/github.com\/sclorg\/django-ex.git<\/a><a class=\"autolink\" href=\"https:\/\/gitlab.com\/imp555\/django2.git\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/gitlab.com\/imp555\/django2.git<\/a><strong>template<\/strong>django-exampledjango2-example<strong>app<\/strong>django-exampledjango2-example<\/div>\n<\/div>\n<p>\u521b\u5efa<\/p>\n<h2>\u63a2\u5bfbPod\u7684\u6784\u5efa\u8fc7\u7a0b<\/h2>\n<p>\u70b9\u51fbBuilds\u9009\u9879\uff0c\u7136\u540e\u518d\u70b9\u51fb\u6700\u65b0\u6784\u5efa\u7684#1\uff0c\u63a5\u7740\u70b9\u51fbLogs\u6807\u7b7e\u9875\u3002<\/p>\n<pre class=\"post-pre\"><code>Cloning \"https:\/\/gitlab.com\/imp555\/django2.git \" ...\r\n    Commit: 0cef8fa6301a3308127066fa5b6198781ff0fa2a (update README.md)\r\n    Author: imp555 &lt;imp555@nethome.ne.jp&gt;\r\n    Date:   Sat Dec 29 00:19:30 2018 +0900\r\nUsing 172.30.1.1:5000\/openshift\/python@sha256:091d56e3ab03d52ef0ffac4b88e7e1fa24ea0243bfd05297882c12ff8a0ba1df as the s2i builder image\r\n---&gt; Installing application source ...\r\n---&gt; Installing dependencies ...\r\nCollecting django==2.1.4 (from -r requirements.txt (line 1))\r\nDownloading https:\/\/files.pythonhosted.org\/packages\/fd\/9a\/0c028ea0fe4f5803dda1a7afabeed958d0c8b79b0fe762ffbf728db3b90d\/Django-2.1.4-py3-none-any.whl  (7.3MB)\r\nCollecting djangorestframework (from -r requirements.txt (line 2))\r\nDownloading https:\/\/files.pythonhosted.org\/packages\/99\/0b\/d37a5a96c5d301e23adcabcc2f3fa659fb34e6308590f95ebb50cdbe98a1\/djangorestframework-3.9.0-py2.py3-none-any.whl  (924kB)\r\nCollecting django-filter (from -r requirements.txt (line 3))\r\nDownloading https:\/\/files.pythonhosted.org\/packages\/6a\/8b\/8517167a0adc45ce94d0873efb9487dd4cdeff7e10f96e837ad3d58f5837\/django_filter-2.0.0-py3-none-any.whl  (69kB)\r\nCollecting gunicorn (from -r requirements.txt (line 4))\r\nDownloading https:\/\/files.pythonhosted.org\/packages\/8c\/da\/b8dd8deb741bff556db53902d4706774c8e1e67265f69528c14c003644e6\/gunicorn-19.9.0-py2.py3-none-any.whl  (112kB)\r\nCollecting pytz (from django==2.1.4-&gt;-r requirements.txt (line 1))\r\nDownloading https:\/\/files.pythonhosted.org\/packages\/f8\/0e\/2365ddc010afb3d79147f1dd544e5ee24bf4ece58ab99b16fbb465ce6dc0\/pytz-2018.7-py2.py3-none-any.whl  (506kB)\r\nInstalling collected packages: pytz, django, djangorestframework, django-filter, gunicorn\r\nSuccessfully installed django-2.1.4 django-filter-2.0.0 djangorestframework-3.9.0 gunicorn-19.9.0 pytz-2018.7\r\nYou are using pip version 9.0.1, however version 18.1 is available.\r\nYou should consider upgrading via the 'pip install --upgrade pip' command.\r\n---&gt; Collecting Django static files ...\r\nWARNING: could not run 'manage.py collectstatic'. To debug, run:\r\n$ python .\/manage.py collectstatic --noinput\r\nIgnore this warning if you're not serving static files with Django.\r\nRunning post commit hook ...\r\nsh: cannot set terminal process group (-1): Inappropriate ioctl for device\r\nsh: no job control in this shell\r\nCreating test database for alias 'default'...\r\nSystem check identified no issues (0 silenced).\r\n.\r\n----------------------------------------------------------------------\r\nRan 1 test in 0.188s\r\nOK\r\nDestroying test database for alias 'default'...\r\nPushing image 172.30.1.1:5000\/django2\/sample:latest ...\r\nPushed 0\/10 layers, 1% complete\r\nPushed 1\/10 layers, 10% complete\r\nPush successful\r\n<\/code><\/pre>\n<p>\u70b9\u51fb\u5e94\u7528\u7a0b\u5e8f&gt;Pods\uff0c\u7136\u540e\u70b9\u51fb\u6b63\u5728\u8fd0\u884c\u7684Pods\uff0c\u518d\u70b9\u51fb\u65e5\u5fd7\u9009\u9879\u5361\u3002<\/p>\n<pre class=\"post-pre\"><code>---&gt; Migrating database ...\r\nOperations to perform:\r\n  Apply all migrations: admin, auth, contenttypes, sessions\r\nRunning migrations:\r\n  Applying contenttypes.0001_initial... OK\r\n  Applying auth.0001_initial... OK\r\n  Applying admin.0001_initial... OK\r\n  Applying admin.0002_logentry_remove_auto_add... OK\r\n  Applying admin.0003_logentry_add_action_flag_choices... OK\r\n  Applying contenttypes.0002_remove_content_type_name... OK\r\n  Applying auth.0002_alter_permission_name_max_length... OK\r\n  Applying auth.0003_alter_user_email_max_length... OK\r\n  Applying auth.0004_alter_user_username_opts... OK\r\n  Applying auth.0005_alter_user_last_login_null... OK\r\n  Applying auth.0006_require_contenttypes_0002... OK\r\n  Applying auth.0007_alter_validators_add_error_messages... OK\r\n  Applying auth.0008_alter_user_username_max_length... OK\r\n  Applying auth.0009_alter_user_last_name_max_length... OK\r\n  Applying sessions.0001_initial... OK\r\n---&gt; Serving application with gunicorn (wsgi) ...\r\n[2018-12-28 15:27:15 +0000] [1] [INFO] Starting gunicorn 19.9.0\r\n[2018-12-28 15:27:15 +0000] [1] [INFO] Listening at: http:\/\/0.0.0.0:8080  (1)\r\n[2018-12-28 15:27:15 +0000] [1] [INFO] Using worker: sync\r\n[2018-12-28 15:27:15 +0000] [35] [INFO] Booting worker with pid: 35\r\n[2018-12-28 15:27:15 +0000] [36] [INFO] Booting worker with pid: 36\r\n[2018-12-28 15:27:15 +0000] [37] [INFO] Booting worker with pid: 37\r\n[2018-12-28 15:27:15 +0000] [38] [INFO] Booting worker with pid: 38\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:21 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\" Not Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:31 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\nNot Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:41 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:49 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:51 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\n172.17.0.1 - - [29\/Dec\/2018:00:27:59 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:28:01 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\n172.17.0.1 - - [29\/Dec\/2018:00:28:09 +0900] \"GET \/ HTTP\/1.1\" 404 2048 \"-\" \"kube-probe\/1.11+\"\r\nNot Found: \/\r\n[2018-12-28 15:28:09 +0000] [1] [INFO] Handling signal: term\r\n[2018-12-29 00:28:09 +0900] [37] [INFO] Worker exiting (pid: 37)\r\n[2018-12-29 00:28:09 +0900] [35] [INFO] Worker exiting (pid: 35)\r\n[2018-12-29 00:28:09 +0900] [38] [INFO] Worker exiting (pid: 38)\r\n[2018-12-29 00:28:09 +0900] [36] [INFO] Worker exiting (pid: 36)\r\n[2018-12-28 15:28:11 +0000] [1] [INFO] Shutting down: Master \r\n<\/code><\/pre>\n<p>\u770b\u8d77\u6765\u4f3c\u4e4e\u662f\u5728\u8fdb\u884c\u5065\u5eb7\u68c0\u67e5\u2026\u2026\u3002<\/p>\n<p>\u5954\u6e83\u5faa\u73af\u56de\u9000(\u00b4\u30fb\u03c9\u30fb`) : \u5d29\u6e83\u5faa\u73af\u56de\u9000<\/p>\n<p>\u8fdb\u5165\u5e94\u7528\u7a0b\u5e8f &gt; Pods\uff0c\u70b9\u51fb\u8fd0\u884c\u4e2d\u7684Pod\uff0c\u7136\u540e\u70b9\u51fb\u4e8b\u4ef6\u9009\u9879\u5361\u3002<\/p>\n<p>\u5982\u679c\u4e0d\u8fd4\u56de200 OK\u4f5c\u4e3a\u5bf9\u6b64\u7684\u54cd\u5e94\uff0c\u770b\u8d77\u6765 readinessProbe \u6216 livenessProbe \u7684\u68c0\u67e5\u672a\u901a\u8fc7\u5c06\u5bfc\u81f4\u5904\u4e8e Unhealthy \u72b6\u6001\u54e6 (\u00b4\u30fb\u03c9\u30fb`)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6839\u636e\u4e4b\u524d\u7684\u6587\u7ae0\u300c\u5728minishift V1.28.0\u4e0a\u8fd0\u884cDjango2\u2460\u300d\u4e2d\u89c2\u5bdf\u5230\u7684\u7ed3\u679c\uff0c\u4ee5\u53ca\u6839\u636e\u300c\u5728 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-49811","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728minishift-v1-28-0\u4e2d\u8fd0\u884cdjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6839\u636e\u4e4b\u524d\u7684\u6587\u7ae0\u300c\u5728minishift V1.28.0\u4e0a\u8fd0\u884cDjango2\u2460\u300d\u4e2d\u89c2\u5bdf\u5230\u7684\u7ed3\u679c\uff0c\u4ee5\u53ca\u6839\u636e\u300c\u5728 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728minishift-v1-28-0\u4e2d\u8fd0\u884cdjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-05T18:11:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T18:31:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8d88913a08637a6d36a3\/16-3.png\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/\",\"name\":\"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-03-05T18:11:05+00:00\",\"dateModified\":\"2024-05-03T18:31:24+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728minishift-v1-28-0\u4e2d\u8fd0\u884cdjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801","og_description":"\u9996\u5148 \u6839\u636e\u4e4b\u524d\u7684\u6587\u7ae0\u300c\u5728minishift V1.28.0\u4e0a\u8fd0\u884cDjango2\u2460\u300d\u4e2d\u89c2\u5bdf\u5230\u7684\u7ed3\u679c\uff0c\u4ee5\u53ca\u6839\u636e\u300c\u5728 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728minishift-v1-28-0\u4e2d\u8fd0\u884cdjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-03-05T18:11:05+00:00","article_modified_time":"2024-05-03T18:31:24+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8d88913a08637a6d36a3\/16-3.png"}],"author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/","name":"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-03-05T18:11:05+00:00","dateModified":"2024-05-03T18:31:24+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Minishift V1.28.0\u4e2d\u8fd0\u884cDjango2\uff1a\u521b\u5efa\u6a21\u677f\u548cs2i\u6e90\u4ee3\u7801"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8minishift-v1-28-0%e4%b8%ad%e8%bf%90%e8%a1%8cdjango2%ef%bc%9a%e5%88%9b%e5%bb%ba%e6%a8%a1%e6%9d%bf%e5%92%8cs2i%e6%ba%90%e4%bb%a3%e7%a0%81\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=49811"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49811\/revisions"}],"predecessor-version":[{"id":95577,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/49811\/revisions\/95577"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=49811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=49811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=49811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}