<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [toc] # Django實踐 [Django](https://www.djangoproject.com/)是一個高級Python Web框架,鼓勵快速開發和整潔適用的設計,它由經驗豐富的開發人員構建,他們處理了Web開發的許多麻煩,所以你可以專注于自己的APP,而無需重復的造輪子。它是免費開源的。 ## 開發環境的搭建 for django@python 操作系統為widows 1. 下載安裝python,設置環境變量(添加python安裝目錄之環境變量PATH)。在命令行輸入``python --version ``,回應相應的版本號``python 3.7.2``,表明python安裝成功; 2. 下載安裝python集成開發環境[PyCharm](https://www.jetbrains.com/pycharm/),使用PyCharm Community Edition,免費的。 新建項目,PyCharm會為每個項目創建一個隔離的Python運行環境(virtualenv,venv),在本項目的venv中安裝模塊(如django)不會影響到其它項目。 ## django應用開發流程之準備工作 1. 新建項目MyDjangoProject,并未該項目新建了venv(virtualenv,虛擬環境); 2. 安裝Django模塊(在venv虛擬環境下),打開Terminal,輸入``pip install django``即可安裝; ``` (venv) D:\MyPython\MyDjangoProject>pip install django Collecting django ... Successfully installed django-2.1.7 pytz-2018.9 ... ``` 3. 新建Django項目,mysite ``` (venv) D:\MyPython\MyDjangoProject>django-admin startproject mysite . ``` > 注意新建項目命令的點表示在當前目錄下創建該項目; 項目自動創建文件manage.py,該文件將接管該項目的管理工作,查看其支持的命令``python manage.py --help `` 4. 遷移數據庫``python manage.py migrate`` 5. 啟動web服務器,``python manage.py runserver``,在瀏覽器輸入http://127.0.0.1:8000/,即可看到該項目的默認主頁; 6. 新建應用程序myapp,``python manage.py startapp myapp`` 7. 添加應用myapp至文件settings.py ``` INSTALLED_APPS = [ 省略 # my apps 'myapp' ] ``` 8. 修改myapp,如這里定義模型,修改models.py,如下: ``` from django.db import models # Create your models here. class Topic(models.Model): '''用戶學習的主題''' text = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) def __str__(self): '''返回模型的字符串表示''' return self.text ``` 9. 對myapp調用makemigrations,``python manage.py makemigrations myapp`` 10. 項目遷移,``python manage.py migrate`` > 每次修改應用myapp后,需要重復第9、10步 11. Django提供了后臺管理網站(http://127.0.0.1:8000/admin/),在這里可以查看新定義的模型,不過初次登錄時需要超級管理員身份。現在注冊超級管理員,``python manage.py createsuperuser``,我注冊的超級管理員為admin/admin; 12. 至此就可以登錄django的后臺管理網站,但是沒有發現自己定義的模型Topic,這是因為自定義的models須自己注冊,注冊后再次登錄后臺管理軟件即可看到myapp下的Topic; ## Django web應用開發 上節的準備工作做好之后,就可以正式進行web應用開發了。下面舉例說明。 1. 定義模型Entry,在文件models: ``` class Entry(models.Model): '''某個主題的具體知識''' topic = models.ForeignKey(Topic, on_delete=models.CASCADE) text = models.TextField() dateadded = models.DateTimeField(auto_now_add=True) class Meta: verbose_name_plural = 'entries' def __str__(self): '''返回模型的字符串表示''' return self.text[:50] ``` 2. 遷移模型Entry,按上節第9、10步驟,生成了新的遷移文件0002_entry.py, ``` python manage.py makemigrations myapp python manage.py migrate ``` 3. 向管理網站注冊Entry,在 文件admin.py ``` from django.contrib import admin # Register your models here. from myapp.models import Topic, Entry admin.site.register(Entry) ``` 4. 至此,超級用戶可以在后臺添加主題,添加文章并把文章關聯到主題; ## 創建網頁 創建網頁分三步: * 定義URL * 編寫視圖 * 編寫模板(網頁) 下面舉例說明網頁的創建過程,該例需要創建主頁、主題頁面和文章頁面。 1. 定義URL,編輯mysite/urls.py,新建并編輯myapp/urls.py,如下: mysite/urls.py ``` from django.contrib import admin from django.urls import path from django.conf.urls import include urlpatterns = [ path('admin/', admin.site.urls), path('', include(('myapp.urls', 'myapp'), namespace='myapp')), ] ``` myapp/urls.py ``` from django.conf.urls import url from . import views urlpatterns = [ # 主頁 url('^$', views.index, name='index'), ] ``` 2. 編寫視圖 myapp/views.py ``` from django.shortcuts import render # Create your views here. def index(request): '''網站的主頁''' return render(request, 'myapp/index.html') ``` 3. 編寫模板(網頁) 新建myapp/templates/myapp/index.html ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>這是myapp</title> </head> <body> <p>個人博客DEMO</p> <p> 用Django構建一個個人博客網站。 </p> </body> </html> ``` 4. 添加網頁的搜索路徑,否則找不到該網頁 mysite/settings.py ``` TEMPLATES = [ { 'DIRS': [os.path.join(BASE_DIR,'myapp/templates/')], }, ] # 調試用,這里其輸出為:myapp's base directory: D:\MyPython\MyDjangoProject print("myapp's base directory: ", BASE_DIR) ``` 至此輸入 **127.0.0.1/8000** 就可以看到index這個網頁了! ## 創建網頁應用總結 Django有意將創建網頁的過程分開,分別處理URL、視圖和模板(網頁),這樣在項目很大時可以讓參與者專注自己擅長的方面,例如,數據庫專家可以專注于模型,程序員可以專注于視圖代碼,Web設計人員可以專注于模板。 ## 參考 * [Django與AJAX實現網頁動態數據顯示](https://blog.csdn.net/mildddd/article/details/79800721) # 部署django項目
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看