Django框架小白學習記錄(不斷更新)

Django框架小白學習記錄(不斷更新)

查看安裝的Django版本html

py -m django --version
複製代碼

若你用 pip 安裝 Django,你可使用 --upgrade-U 標誌進行更新python

$ pip install -U Django
複製代碼

此文章是3.0版本mysql

進入正文sql


建立項目

打開命令行,cd 到一個你想放置你代碼的目錄,而後運行如下命令:shell

django-admin startproject mysite
複製代碼

mysite即項目名稱數據庫

看一下 startproject 建立的內容django

mysite/
    manage.py //一個讓你用各類方式管理 Django 項目的命令行工具
    mysite/
        __init__.py
        settings.py //Django 項目的配置文件
        urls.py     //Django 項目的 URL 聲明
        asgi.py     //做爲你的項目的運行在 ASGI 兼容的Web服務器上的入口
        wsgi.py     //做爲你的項目的運行在 WSGI 兼容的Web服務器上的入口
複製代碼
  • 最外層的 mysite/ 根目錄只是你項目的容器, 根目錄名稱對Django沒有影響,你能夠將它重命名爲任何你喜歡的名稱。

運行項目,命令行輸入如下命令瀏覽器

py manage.py runserver
複製代碼

成功的話,會看到如下輸出bash

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

四月 01, 2020 - 15:50:53
Django version 3.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
複製代碼

瀏覽器訪問 https://127.0.0.1:8000/ 你將會看到一個「祝賀」頁面,隨着一隻火箭發射,服務器已經運行了。服務器

你也能夠更換端口

py manage.py runserver 8080
複製代碼

案例:建立投票應用

項目和應用有什麼區別?

應用是一個專門作某件事的網絡應用程序——好比博客系統,或者公共記錄的數據庫,或者小型的投票程序。

項目則是一個網站使用的配置和應用的集合。項目能夠包含不少個應用。應用能夠被不少個項目使用

處於 manage.py 所在的目錄下,而後運行這行命令來建立一個應用:

py manage.py startapp polls
複製代碼

這將會建立一個 polls 目錄,它的目錄結構大體以下:

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py
複製代碼

編寫第一個視圖

在 polls/urls.py 中,輸入以下代碼:

polls/urls.py
from django.urls import path

from . import views

urlpatterns = [ path('', views.index, name='index'), ]

下一步是要在根 URLconf 文件中指定咱們建立的 polls.urls 模塊。在 mysite/urls.py 文件的 urlpatterns 列表裏插入一個 include(), 以下:

mysite/urls.py
from django.contrib import admin

from django.urls import include, path

urlpatterns = [path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]

輸入命令:

python manage.py runserver
複製代碼

用瀏覽器訪問 http://localhost:8000/polls/, 你應該可以看見 "Hello, world. You're at the polls index." ,這是你在 index 視圖中定義的。

數據庫配置

默認是SQLite

原本想配mysql,待簡單學習後再配置

編輯 mysite/settings.py 文件前,先設置 TIME_ZONE 爲你本身時區,順便修改一下語言

Django有自帶的默認應用

默認開啓的某些應用須要至少一個數據表,因此,在使用他們以前須要在數據庫中建立一些表。請執行如下命令:

py manage.py migrate
複製代碼

建立模型

好比在這個投票應用中,須要建立兩個模型:問題 Question 和選項 Choice。

polls/models.py
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)

激活模型

首先得把 polls 應用安裝到咱們的項目裏

在配置類 INSTALLED_APPS 中添加設置。由於 PollsConfig 類寫在文件 polls/apps.py 中,因此它的點式路徑是 'polls.apps.PollsConfig'。在文件 mysite/settings.py 中 INSTALLED_APPS 子項添加點式路徑後,它看起來像這樣:

mysite/settings.py
INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
輸入如下命令即完成激活
py manage.py makemigrations polls
py manage.py migrate
複製代碼

因此改變模型須要這三步:

  • 編輯 models.py 文件,改變模型。
  • 運行 python manage.py makemigrations 爲模型的改變生成遷移文件。
  • 運行 python manage.py migrate 來應用數據庫遷移。

嘗試API

輸入如下命令進入交互python命令行

py manage.py shell
複製代碼

你能夠輸入如下來進行測試database

>>> from polls.models import Choice, Question  # Import the model classes we just wrote.

# No questions are in the system yet.
>>> Question.objects.all()
<QuerySet []>

# Create a new Question.
# Support for time zones is enabled in the default settings file, so
# Django expects a datetime with tzinfo for pub_date. Use timezone.now()
# instead of datetime.datetime.now() and it will do the right thing.
>>> from django.utils import timezone
>>> q = Question(question_text="What's new?", pub_date=timezone.now())

# Save the object into the database. You have to call save() explicitly.
>>> q.save()

# Now it has an ID.
>>> q.id
1
複製代碼

Django管理頁面

建立一個管理員帳戶:

py manage.py createsuperuser
複製代碼

啓動:

py manage.py runserver
複製代碼

進入 http://127.0.0.1:8000/admin/

你會看到管理員頁面

在後臺能夠進行數據編輯

注意建立的應用要進行接口才能查看

打開 polls/admin.py 文件,把它編輯成下面這樣:

polls/admin.py
from django.contrib import admin

from .models import Question

admin.site.register(Question)

再次打開管理頁面便可對應用的數據進行編輯

--

--


以後進行render()渲染html文件待更新
相關文章
相關標籤/搜索