在idea下用Python搭建Django(文章很棒很詳細!!)

文章寫的很好很詳細,轉載自https://blog.csdn.net/yybk426/article/details/75042833


首先要創建Django項目,必須自己電腦安裝了Django,如果沒安裝,請查看我的之前的博客:
http://blog.csdn.net/yybk426/article/details/74279398

1.創建Django項目

1.點擊idea左上角的File,然後點擊New,之後點擊Project。
這裏寫圖片描述

2.這樣的一個Django項目就創建了

這裏寫圖片描述

2.配置項目

1.點擊idea右上角,如下圖(這一步是臨時的,不寫第二步的話,如果把項目考到別的idea上運行,得重新配置):
這裏寫圖片描述

然後會出來如下圖的界面:

這裏寫圖片描述

這裏寫圖片描述

2.接下來死點擊idea左上角File中的Projaect Structure(這一步是永久的,就算把項目考到別的idea上運行,項目也能正常運行)

這裏寫圖片描述

這裏寫圖片描述

3.創建一個APP

1.點擊idea上方Tools中的Run manage.py Task 會出現一個命令窗口(第二個步驟配置沒問題了,Tools中才會有Run manage.py Task這個)
這裏寫圖片描述

2.輸入startapp student,回車就會創建一個app(student是app的名字,你可以叫別的)

這裏寫圖片描述

這裏寫圖片描述

4.一個超級簡單的頁面跳轉(通過HttpResponse 來把內容顯示到網頁上)

1.在student中編輯views.py,添加如下代碼:

from django.shortcuts import render
#導入HttpResponse,用來向網頁返回內容的,像print一樣,不過HttpResponse是把內容顯示到網頁上。
from django.http import HttpResponse
# Create your views here.

def index(request):#定義一個函數,第一個參數必須是request
    return HttpResponse("Hello, world. Hello,python.")#返回HttpResonse對象,最終將這行字符顯示在頁面上
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.在student中創建ursl.py(右擊student–>NEW-Python File),添加如下代碼:

from django.conf.urls import url
from . import views#導入views

urlpatterns = [
    #aaa$代表以aaa結束,views.index是關聯對應views.py中的一個函數
    url(r'^aaa$', views.index, name='index'),
]
#本步驟目前做這個可以寫,可以不寫,不過之後要是對student做具體操作(比如:增刪改等)必須寫,方便管理項目。
#如果不打算寫,可以直接做完第1步,直接第2步
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.在School1中的urls.py中添加如下代碼:

from django.conf.urls import url
from django.contrib import admin
from student import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    #添加這一句,student/代表跳轉到student APP中,views.index是關聯對應views.py中的一個函數
    url(r'^student/', views.index, name='index'),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.這時候運行Django,去瀏覽器網址欄輸入http://127.0.0.1:8000/student/aaa
如果沒寫第二步,輸入http://127.0.0.1:8000/student
這裏寫圖片描述

5.接下來使用渲染模板的方法來顯示內容

第四步驟是用HttpResponse 來把內容顯示到網頁上,本步驟是使用渲染模板的方法來顯示內容
注意::寫本步驟之前把第四步驟寫的全部先註釋掉,方便理解!!!

1.在student中views中添加如下代碼:

from django.shortcuts import render
def index(resquest):#定義一個函數,第一個參數必須是request
    ctx={} #定義一個名爲ctx的空字典
    ctx["msg"] = "World" #以鍵值對方式添加一條數據到字典中
    return render(resquest,'hello.html',ctx)#把字典作爲參數返回
  • 1
  • 2
  • 3
  • 4
  • 5

2.在student中urls.py(沒有請創建urls.py)中添加如下代碼:

from django.conf.urls import url
from . import views#導入views

urlpatterns = [
    #hello$代表以hello結束,views.index是關聯對應views.py中的一個函數
    url(r'^hello$', views.index, name='index'),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.在School1中修改settings.py文件,裏面加入一條BASE_DIR+’/views’,在什麼地方加如下圖:
這裏寫圖片描述

4.在student下創建一個views文件夾(右擊student–>NEW–>Directory),進入views中,創建一個hello.html(右擊student–>NEW–>Html File):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello,{{msg}}</h1>{#取得字典值爲msg的vlues,並顯示出來#}

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

5.在School1中的urls.py中添加

from django.conf.urls import url,include
from django.contrib import admin
from student import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^student/',include('student.urls',namespace="student"))
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

6.運行項目School1,去瀏覽器網址欄輸入:http://127.0.0.1:8000/student/hello

這裏寫圖片描述

7.最後整個項目是這樣的
這裏寫圖片描述

6.創建數據庫,初步生成數據庫表(本步驟基於步驟二)

1.首先在School中的settings.py中修改代碼:

INSTALLED_APPS = [
    'django.contrib.admin',#管理網站
    'django.contrib.auth',#認證模塊
    'django.contrib.contenttypes',#內部框架
    'django.contrib.sessions',#會話管理
    'django.contrib.messages',#消息框架
    'django.contrib.staticfiles',#映射的靜態資源
    'student.apps.StudentConfig'#加載到全局中
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#這麼選擇mysql數據庫
        'NAME': 'School1',#數據庫的名字
        'USER': 'root',#mysql數據庫的用戶名
        'PASSWORD': 'root',#mysql數據庫的密碼
        'HOST': 'localhost',#mysql數據庫的主機名
        'PORT': '3306'#mysql數據庫的端口號(這個可寫可不寫)
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.在student中models.py中加入代碼:

from django.db import models

# Create your models here.
class student(models.Model):
    #學生姓名長度爲50,不能爲空,以下的字段以此類推,但是學生的愛好可以爲空
    name=models.CharField('姓名',max_length=50,null=False)#'姓名'是別名,以下的以此類推
    sex=models.CharField('性別',max_length=2,null=False)
    born=models.DateField('生日',null=False)
    city=models.CharField('城市',max_length=100,null=False)
    likes=models.CharField('愛好',max_length=100)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.打開mysql數據庫,創建一個名爲School1的數據庫

**

注意:數據庫的名字必須和第1步的settings.py中設置的數據庫名字一樣!!!

**

5.打開一個全新的運行窗口,輸入pip list 查看安裝什麼東西
這裏寫圖片描述
6.輸入命令pip install mysqldb(安裝這個會報錯但是沒關係,不用管)接着輸入pip install MySQLclient就ok了

這裏寫圖片描述

7.點擊idea上方Tools中的Run manage.py Task,會出來一個命令窗口,然後輸入命令makemigrations student:
這裏寫圖片描述

這裏寫圖片描述

8.之後運行sqlmigrate student 0001,會生成sql語句(這行代碼是查看的,不是必須運行的)
這裏寫圖片描述

8.最後運行migrate這個就把sql語句運行 最終在mysql數據庫中初步生成表
這裏寫圖片描述

9.最後數據庫會出現如下圖這些表:

這裏寫圖片描述

這裏寫圖片描述

7.創建一個超級管理員,並登錄

1.首先在Tools裏面打開run manage.py Task(快捷鍵是ctrl+Alt+r),然後會出來一個新的命令窗口

2.在命令窗口輸入createsuperuser,然後會然你輸入管理員的用戶名,接着會讓你輸入郵箱地址,在之後會讓你輸入密碼
這裏寫圖片描述

3.這時候超級管理員就創建好了,運行項目(http://127.0.0.1:8000/admin),發現登錄窗口是英文的,對於英文不好的很難受,所以在全局setting.py中修改配置後就漢化了
這裏寫圖片描述

這時候刷新一下頁面就發現漢化了
這裏寫圖片描述

這裏寫圖片描述

8.把student app添加到Django項目中,並添加數據

1.在student app中添加admin.site.register(models.student)
這裏寫圖片描述

這時候在頁面就會看到student app加入進來了:

這裏寫圖片描述

把student修改成中文的,在student app下的models.py文件中加入如下代碼:

from django.db import models

# Create your models here.
class student(models.Model):
    #加入一下三行代碼
    class Meta:
        #設置student的別名
        verbose_name='學生'
        verbose_name_plural='學生'

    #學生姓名長度爲50,不能爲空,以下的字段以此類推,但是學生的愛好可以爲空
    name=models.CharField('姓名',max_length=50,null=False)#'姓名'是name的別名,以下的以此類推
    sex=models.CharField('性別',max_length=2,null=False)
    born=models.DateField('生日',null=False)
    city=models.CharField('城市',max_length=100,null=False)
    likes=models.CharField('愛好',max_length=100)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

然後重新運行項目,在頁面就會看到student變成中文的‘學生’了

2.接下來,點擊增加,增加幾個學生,並查看數據庫
這裏寫圖片描述
這裏寫圖片描述

修改student app下的admin.py文件:

from django.contrib import admin
from . import models
# Register your models here.
#繼承ModelAdmin類
class student_admin(admin.ModelAdmin):
#list_display是一個數組
    list_display=['name','sex','born','city','likes']
admin.site.register(models.student,student_admin)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在重新運行項目,刷新頁面就會看到:
這裏寫圖片描述

下面查看數據庫就會發現數據中也會剛纔添加的信息:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章