Django搭建項目實戰(zhàn)與避坑細(xì)節(jié)詳解
Django 開發(fā)項目是很快的,有多快?看完本篇文章,你就知道了。
安裝 Django
前提條件:已安裝 Python。
Django 使用 pip 命令直接就可以安裝:
pip install django
如果安裝失敗,很可能是因為網(wǎng)絡(luò)連接超時了,試試國內(nèi)鏡像:
pip install --default-timeout=6000 -i https://pypi.tuna.tsinghua.edu.cn/simple django
這條命令同時延長了超時時間,提高成功率。
安裝完成后,通過 django-admin --version
這條命令驗證。
創(chuàng)建 project
按住 Windows 鍵 + R,輸入 cmd 回車,接著 cd 到任意目錄:

或者先打開目錄窗口,在地址欄輸入 cmd 回車,不需要 cd(推薦):

在命令行窗口輸入命令創(chuàng)建 project:
django-admin startproject mysite
目錄結(jié)構(gòu)如下(注意有 2 個 mysite 哦):
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
創(chuàng)建 app
Django 項目由 1 個 project 和多個 app 組成。project 存放項目配置,app 是網(wǎng)站各個功能的具體實現(xiàn)。
app 的放置目錄沒有限制,這里先放在和 mysite 的同級目錄中,先進(jìn)入外層的 mysite 文件夾:
cd mysite
輸入命令創(chuàng)建:
django-admin startapp polls
目錄結(jié)構(gòu)如下:
mysite/ polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py mysite/ manage.py
使用 cmd 創(chuàng)建完 project 和 app 以后,就可以打開 PyCharm,再 Open mysite 項目了:

為了讓 app 和 project 關(guān)聯(lián)起來,需要在 mysite/settings.py 文件中添加配置:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls.apps.PollsConfig', # 添加 ]
在 polls/models.py 文件中添加數(shù)據(jù)模型:
from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
連接 MySQL
前提條件:已安裝 MySQL,創(chuàng)建好數(shù)據(jù)庫。
Django 默認(rèn)使用輕量級數(shù)據(jù)庫 SQLite,我們切換為常用的 MySQL。
修改 mysite/settings.py 中的數(shù)據(jù)庫配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '主機(jī)', 'PORT': 端口, 'NAME': '數(shù)據(jù)庫名', 'USER': '用戶名', 'PASSWORD': '密碼' } }
Django 默認(rèn)通過底層調(diào)用 mysqlclient 這個庫和 MySQL 交互。但是 mysqlclient 非常不好安裝!我們改用 pymysql。
先安裝:
pip install pymysql
然后在與 mysite/settings.py 文件同級的 __init__
文件中添加:
import pymysql pymysql.version_info = (1, 4, 0, "final", 0) pymysql.install_as_MySQLdb()
數(shù)據(jù)遷移
數(shù)據(jù)遷移,指的是把代碼中的數(shù)據(jù)模型,遷移到數(shù)據(jù)庫中,創(chuàng)建相應(yīng)的表結(jié)構(gòu)。
第一步,告訴 Django 數(shù)據(jù)模型有更新:
python manage.py makemigrations polls
執(zhí)行后輸出:
Migrations for 'polls': polls/migrations/0001_initial.py - Create model Question - Create model Choice
第二步,執(zhí)行數(shù)據(jù)遷移同步:
python manage.py migrate
執(zhí)行后輸出:
Operations to perform: Apply all migrations: admin, auth, contenttypes, polls, sessions Running migrations: Rendering model states... DONE Applying polls.0001_initial... OK
數(shù)據(jù)庫表就創(chuàng)建好了:

啟動項目
萬事俱備,只差 1 條啟動命令,在根目錄執(zhí)行:
python manage.py runserver
訪問 http://127.0.0.1:8000/,就可以看到來自 Django 老鐵的這發(fā)火箭了:

小結(jié)
本文是對《匆匆一眼》文章的補(bǔ)充。介紹了如何安裝 Django,創(chuàng)建 Django 的 project 和 app,連接 MySQL,執(zhí)行數(shù)據(jù)遷移,最后啟動項目的實際操作步驟。思路很清晰。整體流程清楚了,可這些文件都是干嘛的呢?
參考資料:
https://docs.djangoproject.com/en/3.1/intro/tutorial01/
到此這篇關(guān)于Django搭建項目實戰(zhàn)與避坑細(xì)節(jié)的文章就介紹到這了,更多相關(guān)Django搭建項目與避坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python加載數(shù)據(jù)的5種不同方式(收藏)
這篇文章主要介紹了Python加載數(shù)據(jù)的5種不同方式(收藏),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Pandas DataFrame數(shù)據(jù)的更改、插入新增的列和行的方法
這篇文章主要介紹了Pandas DataFrame數(shù)據(jù)的更改、插入新增的列和行的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Pytorch如何打印與Keras的model.summary()類似的輸出(最新推薦)
這篇文章主要介紹了Pytorch如何打印與Keras的model.summary()類似的輸出,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07