py庫: django (web框架)

http://www.imooc.com/learn/736  Python-走進Requests庫html

http://www.imooc.com/learn/790  django入門與實踐vue

http://www.imooc.com/learn/753  python-web.py開發入門(先不看)python

 

https://www.imooc.com/learn/458  django初體檢,本教程主要講解Django基礎入門知識nginx

http://www.yiibai.com/django/django_quick_start_first_step.html#article-start  Django快速入門  2018-1-26web

http://docs.30c.org/djangobook2/  django2.0文檔sql

https://docs.djangoproject.com/en/2.0/releases/2.0/django2.0文檔shell

 

 


環境:win七、python3.6.三、django2.0數據庫

  • django-admin  startproject   myproject  建立項目
  • cd  myproject
  • tree -f  (windows下看一下目錄結構)
  • python manage.py   startapp  blog  建立應用
  • tree -f  (再看一下,已出現應用:blog)
myproject
│  db.sqlite3
│  manage.py  # 管理項目:包括數據庫創建、服務器運行、測試(manage.py是個大管家,作什麼事情都要找它)
│
├─blog        # (「應用」目錄。 django中使用應用來分隔功能)
│  │  admin.py   # admin相關                (此文件幫助您在管理界面中修改應用程序)
│  │  apps.py    # 當前應用的一些配置(django1.9之後自動生成)
│  │  models.py  # 定義數據庫中的表              (存儲全部的應用程序的模型)
│  │  tests.py   # 測試相關                 (這是單元測試)
│  │  views.py   # 響應用戶請求,返回html頁面        (這是應用程序視圖)
│  │  __init__.py
│  │
│  └─migrations
│          __init__.py
│
└─myproject        # (「項目」目錄)
    │  settings.py  # 配置文件:應用、中間件、數據庫、靜態目錄
    │  urls.py      # URL映射配置文件:決定一個url訪問被哪一個程序
    │  wsgi.py      # python應用程序或框架和Web服務器之間接口(目前用不到。之後要放在公網用nginx了,再作配置)----WSGI(Python Web Server Gateway Interface)python服務器網關接口__init__.py
    │
    └─__pycache__
            settings.cpython-36.pyc
            urls.cpython-36.pyc
            wsgi.cpython-36.pyc
            __init__.cpython-36.pyc

 

 

建立應用後,須要把應用添加進去。  django

C:\Python3\myproject\myproject\settings.pywindows

咱們須要把它註冊到myproject項目中,因此要更新 settings.py 文件的 INSTALLED_APPS 元組

#settings.py 的 40行,添加  blog

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

另外,C:\Python3\myproject\myproject\settings.py的 26 行:  DEBUG = True  這是打開debug的開關

凡是和wsgi有關的都不用動它。

 

  • python manage.py runserver  運行django 服務    http://localhost:8000/
  • 或:python manage.py runserver  8080          http://localhost:8080/
  • 或:python manage.py runserver 0.0.0.0:8080    http://0.0.0.0:8080/
  • python manage.py  shell    進入SHELL
  • python manage.py                   查看有哪些命令(最經常使用的:runserver啓動服務器;migrate makemigrations作好一個model後用這兩條更新數據庫表;shell。這4條命令是最經常使用的)
  • python manage.py createsuperuser  建立超級用戶
  • python manage.py runserver             http://127.0.0.1:8000/admin/   用剛剛建立的超級用戶登陸

 

配置URL:

第一種配置URL:

C:\Python3\myproject\myproject\urls.py 此文件配置如下內容:

import blog.views as bv        # 但是爲何要這樣寫呢? 若是是z直接import blog,後面寫 urlpatterns 怎麼弄都不行。
urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', bv.helloworld),    # 要這樣寫
    #url(r'blog/',bv.helloworld),    # 這樣寫也行
]

C:\Python3\myproject\blog\views.py 此文件加入如下內容:

from django.shortcuts import render
from django.http import HttpResponse
def helloworld(request):
    return HttpResponse('<html>hello111</html>')

 

第二種配置URL:

在根url.py中引入include

在APP目錄下建立urls.py文件,各式與根urls.py相同

根urls.py中url函數第二個參數改成 include('blog.urls')

C:\Python3\myproject\myproject\urls.py  根urls配置以下:

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

urlpatterns = [
    url('admin/', admin.site.urls),
    url(r'blog/', include('blog.urls')),
]

 

C:\Python3\myproject\blog\urls.py  blog應用的urls配置以下:

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

urlpatterns = [
    url(r'^$',views.index),        # 第一個參數是正則,因此用^開頭,用$結尾,約束爲是一個空字符串
    url(r'^hello/$',views.hello),     # 這裏要注意必定要有 /
]

 


Models介紹:

ORM

對象關係映射(Object Relation Mapping)

實現了對象和數據庫之間的映射

隱藏了數據訪問的細節,不須要編寫SQL語句

docs.djangoproject.com/en/1.10/ref/models/fields/  看官方文檔

  • cd c:\Python3\myproject
  • python manage.py makemigrations  (參數 blog這個應用,若是不寫參數的話,默認爲生成該項目下全部應用的數據遷移)
  • python manage.py makemigrations  blog
  • python manage.py migrate
  • python manage.py sqlmigrate blog 0001

(python默認使用的數據庫是 sqlite3,因此項目下有db.sqlite3這個文件。推薦使用第三方軟件「SQLite Expert Personal」打開sqlite3數據庫)

 

 

 

 

 

 

 


 

django概述:

一、URL配置:創建URL和與響應函數之間的關係
二、視圖 Views:響應客戶http請求,進行邏輯處理,返回給用戶html頁面
三、模型 Models:描述咱們服務器存儲的數據(數據庫的表)
四、模板 templates: 用來生產html頁面。返回給用戶的html,是由數據(模型)和模板渲染出來的

https://www.imooc.com/video/8912  (這是簡介性質的教程)2017-12-8

https://www.imooc.com/learn/790  繼續看

 

 

django模板和vue模板,語法衝突的問題

使用verbatim標籤解決衝突

自Django1.5以來,加入了 {% verbatim myblock %} {% endverbatim myblock %}標籤,被此標籤包裹的代碼將不會被Django的模板引擎渲染。這樣以來,咱們能夠把帶有{{ }} 的Vue代碼放在 {% verbatim myblock %}標籤裏,以下所示:

<div id="app">
{% verbatim myblock %}
{{ message }}
{% endverbatim myblock %}
</div>

 

...

相關文章
相關標籤/搜索