最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django搭建項(xiàng)目實(shí)戰(zhàn)與避坑細(xì)節(jié)詳解

 更新時(shí)間:2020年12月06日 11:02:22   作者:dongfanger  
這篇文章主要給大家介紹了關(guān)于Django搭建項(xiàng)目實(shí)戰(zhàn)與避坑細(xì)節(jié)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Django 開(kāi)發(fā)項(xiàng)目是很快的,有多快?看完本篇文章,你就知道了。

安裝 Django

前提條件:已安裝 Python。

Django 使用 pip 命令直接就可以安裝:

pip install django

如果安裝失敗,很可能是因?yàn)榫W(wǎng)絡(luò)連接超時(shí)了,試試國(guó)內(nèi)鏡像:

pip install --default-timeout=6000 -i https://pypi.tuna.tsinghua.edu.cn/simple django

這條命令同時(shí)延長(zhǎng)了超時(shí)時(shí)間,提高成功率。

安裝完成后,通過(guò) django-admin --version 這條命令驗(yàn)證。

創(chuàng)建 project

按住 Windows 鍵 + R,輸入 cmd 回車(chē),接著 cd 到任意目錄:

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

在命令行窗口輸入命令創(chuàng)建 project:

django-admin startproject mysite

目錄結(jié)構(gòu)如下(注意有 2 個(gè) mysite 哦):

mysite/
 manage.py
 mysite/
  __init__.py
  settings.py
  urls.py
  asgi.py
  wsgi.py

創(chuàng)建 app

Django 項(xiàng)目由 1 個(gè) project 和多個(gè) app 組成。project 存放項(xiàng)目配置,app 是網(wǎng)站各個(gè)功能的具體實(shí)現(xiàn)。

app 的放置目錄沒(méi)有限制,這里先放在和 mysite 的同級(jí)目錄中,先進(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 以后,就可以打開(kāi) PyCharm,再 Open mysite 項(xiàng)目了:

為了讓 app 和 project 關(guān)聯(lián)起來(lái),需要在 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ù)庫(kù)。

Django 默認(rèn)使用輕量級(jí)數(shù)據(jù)庫(kù) SQLite,我們切換為常用的 MySQL。

修改 mysite/settings.py 中的數(shù)據(jù)庫(kù)配置:

DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql',
  'HOST': '主機(jī)',
  'PORT': 端口,
  'NAME': '數(shù)據(jù)庫(kù)名',
  'USER': '用戶(hù)名',
  'PASSWORD': '密碼'
 }
}

Django 默認(rèn)通過(guò)底層調(diào)用 mysqlclient 這個(gè)庫(kù)和 MySQL 交互。但是 mysqlclient 非常不好安裝!我們改用 pymysql。

先安裝:

pip install pymysql

然后在與 mysite/settings.py 文件同級(jí)的 __init__ 文件中添加:

import pymysql

pymysql.version_info = (1, 4, 0, "final", 0)
pymysql.install_as_MySQLdb()

數(shù)據(jù)遷移

數(shù)據(jù)遷移,指的是把代碼中的數(shù)據(jù)模型,遷移到數(shù)據(jù)庫(kù)中,創(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ù)庫(kù)表就創(chuàng)建好了:

啟動(dòng)項(xiàng)目

萬(wàn)事俱備,只差 1 條啟動(dòng)命令,在根目錄執(zhí)行:

python manage.py runserver

訪問(wèn) http://127.0.0.1:8000/,就可以看到來(lái)自 Django 老鐵的這發(fā)火箭了:

小結(jié)

本文是對(duì)《匆匆一眼》文章的補(bǔ)充。介紹了如何安裝 Django,創(chuàng)建 Django 的 project 和 app,連接 MySQL,執(zhí)行數(shù)據(jù)遷移,最后啟動(dòng)項(xiàng)目的實(shí)際操作步驟。思路很清晰。整體流程清楚了,可這些文件都是干嘛的呢?

參考資料:

https://docs.djangoproject.com/en/3.1/intro/tutorial01/

到此這篇關(guān)于Django搭建項(xiàng)目實(shí)戰(zhàn)與避坑細(xì)節(jié)的文章就介紹到這了,更多相關(guān)Django搭建項(xiàng)目與避坑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

小金县| 赤壁市| 图木舒克市| 高青县| 呼图壁县| 平利县| 教育| 进贤县| 正宁县| 泽州县| 东台市| 濮阳市| 漾濞| 大丰市| 左权县| 开原市| 裕民县| 麻江县| 琼中| 兴和县| 阿拉善盟| 四子王旗| 西和县| 嵊州市| 河北省| 澄迈县| 广昌县| 肃北| 安远县| 徐水县| 金塔县| 辽源市| 陵川县| 武城县| 阳城县| 沾化县| 泰来县| 永顺县| 巧家县| 疏勒县| 安平县|