溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django框架基礎(chǔ)學(xué)習(xí)

發(fā)布時(shí)間:2020-08-01 21:04:00 來源:網(wǎng)絡(luò) 閱讀:547 作者:yht_1990 欄目:數(shù)據(jù)庫

Django安裝

python下載地址 http://www.python.org/download/releases/3.3.4/

Django的下載地址:https://www.djangoproject.com/download/


1)安裝(進(jìn)到解壓目錄)

python setup.py install


2、配置環(huán)境變量(PATH)

C:/Python27/Lib/site-packages/django;C:/Python27/Scripts;


3、檢查是否安裝成功,可以在dos下進(jìn)入Django-1.7.11目錄查看Django版本。

1.輸入python 

2.輸入import django

3.輸入django.get_version()


創(chuàng)建Django工程

參考教程 http://www.cnblogs.com/qinjiting/p/4678893.html


Django常用命令

1)創(chuàng)建Django工程(進(jìn)入項(xiàng)目路徑)

django-admin startproject mysite


創(chuàng)建的目錄解析

1mysite/    #mysite包,整個程序的一個配置文件

2    __init__.py

   settings.py  #Django的配置文件

3    urls.py      #路由器的url映射

4    wsgi.py      #python提代服務(wù)端的模塊,封裝的一個接口

5manage.py        #啟動文件,啟動socker服務(wù)端,程序管理入口




2)運(yùn)行Django程序(進(jìn)入項(xiàng)目文件)

python manage.py runserver  或  默認(rèn)8000端口

python manage.py runserver 0.0.0.0:9000 


在pycharm里配置

run -> edit configurations

runserver 0.0.0.0:8000


3)創(chuàng)建app(一個app就是一個網(wǎng)站)

python manage.py startapp web


創(chuàng)建的目錄內(nèi)容解析:

1web/

2    __init__.py

   admin.py     #Django提供的后臺管理

3    models.py    #數(shù)據(jù)庫操作相關(guān)的東西

4    tests.py     #測試用的

5    views.py     #邏輯的處理


Django是MTV模式,MTV就是規(guī)范操作的一種模式

MTV解析

M :Model    #數(shù)據(jù)庫相關(guān)的東西放在Model里面

T:template  #存放html模板相關(guān)的東西,template需要自已建,template可以在最外層建一個telplate文件夾,也可以在一個app里面建一個telplate文件夾,在最外層所有app共用一個telplate文件夾

v:views     #邏輯的處理


Diango框架揭秘

1、創(chuàng)建app

2、url映射

3、處理url的函數(shù)

4、運(yùn)行django程序

5、訪問url


Diango路由系統(tǒng)

1、全局url里做分發(fā) mysite\urls.py

   url --> urls.py文件


#!/usr/bin/env python

#coding:utf-8

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


from django.contrib import admin

admin.autodiscover()


#def active(request):

#    pass


urlpatterns = patterns('',

    # Examples:

    # url(r'^$', 'mysite.views.home', name='home'),

    # url(r'^blog/', include('blog.urls')),


    url(r'^admin/', include(admin.site.urls)),

    url(r'^web/', include('web.urls')),

    #url(r'^',active), #所有的請求都交給active這個函數(shù)去處理


)



2'web.urls做配置

#!/usr/bin/env python

#coding:utf-8

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


from django.contrib import admin

admin.autodiscover()


from web.views import wsyht,list,login


urlpatterns = patterns('',

    # Examples:

    # url(r'^$', 'mysite.views.home', name='home'),

    # url(r'^blog/', include('blog.urls')),


    url(r'^wsyht/', wsyht),

    url(r'^list/(\d*)/(\d*)/', list),

    url(r'^login/(?P<jenkins>\d*)/(?P<doc>\w*)/', login),  #正則表達(dá)式d數(shù)字,w字母和數(shù)字,這邊寫了jenkins,那么那邊傳參也要寫jenkins

    url(r'^login/(?P<jenkins>\d*)/', login,{'doc':333}),  #后面第二位參數(shù)不加,默認(rèn)就會輸出333

)



3、views模塊配置(邏輯處理模塊,請求的函數(shù)處理)

#!/usr/bin/env python

#coding:utf-8

from django.shortcuts import render


from django.http.response import HttpResponse

# Create your views here.


def wsyht(request):  #必須要有request

    return HttpResponse('index')


def list(request,id1,id2):  #必須要有request

    print id1,id2

    return HttpResponse('list')


def login(request,doc,jenkins):  #必須要有request

    print doc,jenkins

    return HttpResponse('login')


創(chuàng)建數(shù)據(jù)庫表

1、數(shù)據(jù)庫里面創(chuàng)建數(shù)據(jù)庫

2、配置文件settings連接數(shù)據(jù)庫

   39行添加app  這里假設(shè)app名字叫做web

   web

   粘貼以下內(nèi)容替換59行

DATABASES = {

    'default': {

    'ENGINE': 'django.db.backends.mysql',

    'NAME':'dbname',

    'USER': 'root',

    'PASSWORD': 'xxx',

    'HOST': '',

    'PORT': '',

    }

}


3、創(chuàng)建model,繼承自models.Model類

web app下操作

web.models

靜態(tài)字段 = 

username = models.CharField(max_length=50)


例:

from django.db import models


# Create your models here.



class UserInfo(models.Model):

    username = models.CharField(max_length=50)  

    password = models.CharField(max_length=50)  #字符串

    Gender = models.BooleanField(default = False)  #布爾類型

    age = models.IntegerField(default = 26)  #整型

    memo = models.TextField(default = 'xxx')  #長字符串

    CreateDate = models.DateTimeField(default = '2016-9-24 12:12') #日期類型


   #default

4、終端上的做法

同步數(shù)據(jù)庫

python manage.py syncdb


注意:Django 1.7.1及以上的版本需要用以下命令

首先執(zhí)行  python manage.py makemigrations

再執(zhí)行    python manage.py migrate

選擇1,輸入字段值


備注:對已有的 models 進(jìn)行修改,Django 1.7之前的版本的Django都是無法自動更改表結(jié)構(gòu)的,不過有第三方工具 south,詳見 Django 數(shù)據(jù)庫遷移 一節(jié)。

5、修改model

      

6、再執(zhí)行步驟4 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI