国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Django入門(1)

wwq0327 / 960人閱讀

摘要:入門項目創建和創建準備環境項目創建創建進入項目路徑創建路由文件項目結構如下項目注冊在此處注冊項目路由注冊注冊的此時,一個完整的流程就好了修改的路由寫一個視圖函數函數視圖的定義

Django入門 項目創建和APP創建

準備環境

python3 
virtualenv
pip3
pip3 install django==1.1

項目創建,APP創建

django-admin startproject ops
cd ops
python3 manage.py startapp darshboard
cd darshboard #進入項目路徑
touch urls.py #創建路由文件

項目結構如下:

ops/
|-- darshboard
| |-- admin.py
| |-- apps.py
| |-- __init__.py
| |-- migrations
| |-- models.py
| |-- tests.py
| |-- urls.py
| `-- views.py
|-- db.sqlite3
|-- manage.py
`-- ops
    |-- __init__.py
    |-- settings.py
    |-- urls.py
    `-- wsgi.py

項目注冊

# vim ops/ops/settings.py
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "darshboard.apps.DarshboardConfig" #在此處注冊darshboard項目
]

路由注冊

# vim ops/ops/urls.py

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

urlpatterns = [
    url(r"^admin/", admin.site.urls),
    url(r"^darshboard/",include("darshboard.urls")), #注冊app的urls
]
此時,一個完整的流程就好了
hello world 修改darshboard的路由
# vim ops/darshboard/urls.py

from django.conf.urls import url
from .views import index

urlpatterns = [
    url(r"^hello/", index,name="index"),
]
寫一個視圖函數
函數視圖的定義:
a. 就是一個普通函數
b. 接收一個HttpRequest實例作為第一個參數
c. 然后返回一個HttpResponse的實例
# vim ops/darshboard/views.py

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("hello world")
項目啟動&測試

啟動項目

python manage.py runserver 0:8080

訪問:

打開本地瀏覽器輸入:

http://211.159.156.251:8080/darshboard/hello/

即可訪問!

HttpRequest對象

由Django創建

屬性如下:

HttpRequest.scheme
HttpRequest.body
HttpRequest.path
HttpRequest.method
HttpRequest.encoding
HttpRequest.GET
HttpRequest.POST
HttpRequest.META

方法如下:

HttpRequest.get_host()
HttpRequest.get_port()
HttpRequest.get_full_path()
HttpRequest.is_secure()
HttpRequest.is_ajax()

傳遞一個字符串作為頁面的內容到HttpResponse構造函數

from django.http import HttpResponse
response = HttpResponse("here is the web page")
response = HttpResponse("Text only .please,content_type="text/plain")

參考的views如下

from django.shortcuts import render
from django.http import HttpResponse,JsonResponse
import json
def index(request):
    data = {
        "name":"wanghui",
        "age":20
    }
    data_1 = ["devops","python"]
    #return HttpResponse(json.dumps(data),content_type="application/json")   #返回的content-typet
    #return HttpResponse(json.dumps(data_1),content_type="application/json")
    return JsonResponse(data_1,safe=False)
    # return HttpResponse("Hello World!!",status=599)
模板

為了讓數據更加美觀。

POST和GET請求

GET請求與傳參

- method
- GET

POST提交數據

QueryDict對象

方法練習

#  python manage.py shell
>>> from django.http import QueryDict
>>> data = QueryDict("a=12&a=123&b=233")
>>> data.urlencode()
"a=12&a=123&b=233"
數據庫同步

官方給出的數據庫連接設置

https://docs.djangoproject.com/en/1.11/ref/settings/#databases

數據庫同步相關命令

python manage.py showmigrations
python manage.py sqlmigrate sessions 0001
python manage.py dbshell   # 進入shell模式
創建用戶

django-shell創建用戶

# 方式一:
(venv3) [wanghui@www ops]$ python manage.py shell
Python 3.6.1 (default, Jun 22 2018, 18:25:52) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> User.objects.create_user("rock","12272@qq.com","123456")   #創建普通用戶
>>> u = User.objects.get(username="rock")     #查找用戶
>>> u.set_password("654321")       #修改密碼
>>> u.save()                                   #保存
-------------------------------------------------------------------------------------------------------------
# 方式二:
(venv3) [wanghui@www ops]$ python manage.py createsupperuser
用戶登錄小練習

重點在于對函數視圖的練習

darshboard/views.py

from django.shortcuts import render
from django.http import HttpResponse,JsonResponse,QueryDict
from django.template import loader,Context,Template
from django.contrib.auth.models import User
from django.contrib.auth import login,authenticate

def user_login(request):
    # print(request.GET)
    # 獲取提交過來的用戶名&密碼
    if request.method == "GET":     #get請求的話,就直接返回頁面
        return render(request, "user_login.html")
    elif request.method == "POST":  #post就要獲取用戶名和密碼
        username = request.POST.get("username")
        password = request.POST.get("password")
    # 根據用戶名取出這個記錄是否存在
        user_obj = authenticate(username=username,password=password)
        if user_obj:
            login(request,user_obj)
            print("登陸成功!")
        else:
            print("登陸失?。?)
    elif request.method == "DELETE":      # 通過delete方法獲取請求體
        data = QueryDict(request.body)    # 獲取delete的請求體
        print(data)
    return HttpResponse("")

darshboard/urls.py #指定路由

from django.conf.urls import url,include
from django.contrib import admin
from .views import index,index_template,index_methods,user_login
urlpatterns = [
    url(r"^user_login",user_login)
]

darshboard/user_login.html

  • 用戶名:
  • 密碼:

關于delete方法的請求方式

在linux本地機器上執行:
curl -XDELETE http://127.0.0.1:8080/darshboard/user_login/ -d username=rock -d password=654321

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41891.html

相關文章

  • 兩篇文章幫你入門Django(下)

    摘要:原文地址在兩篇文章幫你入門上一文中,我們已經做了一個簡單的小網站,實現了保存用戶數據到數據庫,以及從后臺數據庫讀取數據顯示到網頁上這兩個功能。注意測試時并不需要運行服務,這樣能節省服務的開銷,提高測試的速度。 原文地址 在兩篇文章幫你入門Django(上)一文中,我們已經做了一個簡單的小網站,實現了保存用戶數據到數據庫,以及從后臺數據庫讀取數據顯示到網頁上這兩個功能。 看上去沒有什么問...

    voidking 評論0 收藏0
  • python入門 django入門 (一)

    摘要:本人年開發經驗,現就職于電信,因工作需要學習,記錄自己的學習記錄。 本人java10年開發經驗,現就職于電信,因工作需要學習python,記錄自己的學習記錄。后面也...

    hzc 評論0 收藏0
  • Django添加全文搜索功能入門

    摘要:轉載說明來源添加全文搜索功能入門一使用的工具是的開源搜索框架,該框架支持搜索引擎,不用更改代碼,直接切換引擎,減少代碼量。修改如下添加修改為如下第二步在中修改引擎,如下第三步重建索引,在進行搜索中文試試吧。 感覺網絡上關于Django全文搜索的中文文章太少,并且講的也不是很到位,就是簡單介紹了怎么配置,并沒有說這樣配置有什么用,所以依然很迷茫。所以希望我這篇文章能夠幫助到后來人。 轉...

    lookSomeone 評論0 收藏0

發表評論

0條評論

wwq0327

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<