使用Django搭建web伺服器(最最正確的方式)

田風有發表於2019-01-10

1.先在PyCharm工具裡新建一個自己需要的專案名稱:如Django.

2.開啟終端進入你剛才新建專案目錄中Django 如:cd /Users/tianfengyou/Desktop/Python/Course/Csh_Text/Django

3.點選回車:tianfengyoudeMacBook-Pro:Django tianfengyou$

4.終端輸入:pyhon3 -m venvv 11_env 回車進入專案可以到如下效果:

5.看到上圖檔案說明成功加入檔案。接下來我們再終端輸入:pip install --user virtualenv 回車

成功顯示這個。

6.然後我們再終端輸入:virtualenv 11_env 回車:

7.接著再終端輸入:source 11_env/bin/activate 回車:

看到上圖(11_env)這裡是你自己的電腦路徑。最前面有這個就成功了

8.接下來我們安裝Django 再終端輸入:pip install Django 回車:看到下面圖片效果就算成功!

9.接下來去你的專案去看看有如下效果就算成功:

10.接下來我們再回到終端輸入:django-admin.py startproject learning_log 點選回車去專案裡面去看效果如下:

 

11.看到這裡我們去終端進入learning_log 目錄中看到 如下效果:

12.進入learning_log目錄中再終端輸入:python manage.py migrate 回車:有如下效果就成功了。

13.我們再輸入ls 檢視路徑下面的檔案專案:最後我們再終端輸入:python manage.py runserver 回車:有如下效果算成功了

14.我們將返回看到的伺服器地址輸入瀏覽器:http://127.0.0.1:8000/ 看到如下效果:

 

15.接下來我們之前那個終端就再執行中,不要再去關閉,我們重新去新開啟一個新的終端。再新建的終端再次進入剛才新建的那個專案目錄下輸入:source 11_env/bin/activate 回車 效果如下:

16.接下來我們再進入learning_log目錄中 輸入ls 看到如下效果後再輸入:python manage.py startapp learning_logs回車 效果如下:

17.專案效果如下:

 

18.到這裡,終端暫時就不要去動了。我們去learning_logs目錄中models.py點選進入輸入一下程式碼:

class Topic(models.Model):
    "使用者學習的主題"
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        "返回模型的字串表示"
        return self.text

19.啟用模型進入learning_log目錄中的setting.py中點選進入再INSTALLED_APPS 裡面假如:#我的應用程式'learning_logs' 效果如下:

 

20.接下來我們去我們第二個新建終端哪裡輸入一下程式碼:python manage.py makemigrations learning_logs 回車效果如下:

 

21.完成上面的在終端輸入:python manage.py migrate回車:效果如下:

22.Django管理網站在終端再次輸入:python manage.py createsuperuser 回車會看到輸入一個新的使用者,這個隨便自己輸入,接下來輸入郵箱,和兩次密碼都是隨自己輸入就行,密碼兩次必須一樣。效果如下:

23.下來我們要去專案learning_logs目錄中admin.py中新增一下程式碼:

from django.contrib import admin
from .models import Topic
# Register your models here.

admin.site.register(Topic)

24.到這裡我們再去瀏覽器輸入http://127.0.0.1:8000/admin重新整理介面效果如下:輸入你之前設定的密碼:

25.完成這個後我們進入專案組learning_logs目錄中models.py新增新的程式碼:

class Entry(models.Model):
    "學到的有關某個主題的具體知識"
    topic = models.ForeignKey(Topic,on_delete=models.CASCADE)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)
    
    class Meta:
        verbose_name_plural = 'entries'
        
    def __str__(self):
        "返回模型的字串表示"
        return self.text[:50] + "..."

26.上面新增完成後我們去第二個終端再次輸入程式碼:python manage.py makemigrations learning_logs 回車效果如下:

27.看到上面顯示和你自己一樣說明已經不錯了。接下來我們在終端再次輸入:python manage.py migrate 回車。以上兩個操作就是遷移資料庫,因為我們再models修改了對應的資料。

28.向管理網站註冊Entry 去learning_logs目錄中再admin.py新增新的程式碼:

from .models import Topic,Entry
# Register your models here.

admin.site.register(Topic)
admin.site.register(Entry)

29.按照登入密碼進入你會看到不同的效果,下來我們進行Django shell的操作,再第二個終端輸入:python manage.py shell 回車

30.對映URl 去learning_log目錄下的urls.py裡面加以下程式碼:

from django.conf.urls import include,url
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'',include('learning_logs.urls',namespace='learning_logs')),

]

31.完成後我們再去learning_logs目錄下重新建立一個新的urls.py檔案。新增以下程式碼:

from django.conf.urls import url
from . import views


urlpatterns = [
    #主頁
    url(r'^$',views.index,name='index')
]

32.接下來去learning_logs目錄下的views.py新增程式碼:

from django.shortcuts import render

# Create your views here.
def index(request):
    "學習筆記的主頁"
    return render(request,'learning_logs/index.html')

33.我們在learning_logs目錄下建立一個新的目錄:template 在這個目錄下新建一個html檔案命名問index.裡面新增程式碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>Learning Log</p>
<p>laarning log helps you keep track of your learning,for any topic you are learning about</p>
</body>
</html>

 

相關文章