第一章 基礎(chǔ)知識(shí)回顧

django 基礎(chǔ)知識(shí)回顧

標(biāo)簽: djanjo


djanjo實(shí)戰(zhàn)環(huán)境搭建

  • 虛擬環(huán)境搭建

具體內(nèi)容詳見(jiàn)環(huán)境搭建


## env 倉(cāng)庫(kù)
pip install virtualenvwrapper-win

  • mysql 和 pycharm使用自行學(xué)習(xí)

django簡(jiǎn)單使用

  • django基礎(chǔ)知識(shí)
# 創(chuàng)建app

tool 工具中 run manage.py task

startapp appname


  • django基本目錄結(jié)構(gòu)
apps 項(xiàng)目工程

media 用戶上傳文件

log 日志文件

static 靜態(tài)文件

  • mysql 數(shù)據(jù)庫(kù)連接以及默認(rèn)表生成

驅(qū)動(dòng)地址



下載對(duì)應(yīng)驅(qū)動(dòng)

跳轉(zhuǎn)虛擬環(huán)境

pip install MySQL_python-1.2.5-cp27-none-win32.whl


更改數(shù)據(jù)庫(kù)驅(qū)動(dòng)

setting.py


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'edu_online',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1'
    }
}


django 基本表文件生成

makemigrations

migrate


  • django運(yùn)行原理

apps中 views 返回

def getform(request):

    return render(request,'message-form.html')

url 連接映射

utls.py
from message.views import getform

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form/', getform)
]


模板+靜態(tài)文件地址設(shè)置
setting.py
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]



  • django model 的創(chuàng)建

- 創(chuàng)建model

# __*__ coding:utf-8 __*__

from __future__ import unicode_literals

from django.db import models

# Create your models here.

class UserMessage(models.Model):
    object_id = models.CharField(primary_key=True,max_length=50,verbose_name=u'主鍵',default="")
    name = models.CharField(max_length=64,verbose_name=u'名稱')
    email = models.EmailField(verbose_name=u'郵箱')
    word = models.CharField(max_length=512,verbose_name=u'留言')


    class Meta:
        verbose_name= u'用戶留言'

app注冊(cè)
# Application definition

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

表結(jié)構(gòu)文件生成

makemigrations

migrate

model 實(shí)現(xiàn)增刪改查

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<form action="/form/" method="post" class="smart-green">
    <h1>留言信息
        <span>請(qǐng)留下你的信息.</span>
    </h1>
    <label>
        <span>姓名 :</span>
        <input id="name" type="text" name="name" class="error" placeholder="請(qǐng)輸入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>郵箱 :</span>
        <input id="email" type="email" value="" name="email" placeholder="請(qǐng)輸入郵箱地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>聯(lián)系地址 :</span>
        <input id="address" type="text" value="" name="address" placeholder="請(qǐng)輸入聯(lián)系地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="請(qǐng)輸入你的建議"></textarea>
        <div class="error-msg"></div>
    </label>
    <div class="success-msg"></div>
    <label>
        <span>&nbsp;</span>
        <input type="submit" class="button" value="提交"/>
    </label>
    {% csrf_token %}
</form>
</body>
</html>

.smart-green {
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    background: #F8F8F8;
    padding: 30px 30px 20px 30px;
    font: 12px Arial, Helvetica, sans-serif;
    color: #666;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.smart-green h1 {
    font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
    padding: 20px 0px 20px 40px;
    display: block;
    margin: -30px -30px 10px -30px;
    color: #FFF;
    background: #9DC45F;
    text-shadow: 1px 1px 1px #949494;
    border-radius: 5px 5px 0px 0px;
    -webkit-border-radius: 5px 5px 0px 0px;
    -moz-border-radius: 5px 5px 0px 0px;
    border-bottom: 1px solid #89AF4C;
}

.smart-green h1 > span {
    display: block;
    font-size: 11px;
    color: #FFF;
}

.smart-green label {
    display: block;
    margin: 0px 0px 5px;
}

.smart-green label > span {
    float: left;
    margin-top: 10px;
    color: #5E5E5E;
}

.smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
    color: #555;
    height: 30px;
    line-height: 15px;
    width: 100%;
    padding: 0px 0px 0px 10px;
    margin-top: 2px;
    border: 1px solid #E5E5E5;
    background: #FBFBFB;
    outline: 0;
    -webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
    box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
    font: normal 14px/14px Arial, Helvetica, sans-serif;
}

.smart-green textarea {
    height: 100px;
    padding-top: 10px;
}

.smart-green .button {
    background-color: #9DC45F;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-border-radius: 5px;
    border: none;
    padding: 10px 25px 10px 25px;
    color: #FFF;
    text-shadow: 1px 1px 1px #949494;
}

.smart-green .button:hover {
    background-color: #80A24A;
}

.error-msg {
    color: red;
    margin-top: 10px;
}

.success-msg {
    color: #80A24A;
    margin-top: 10px;
    margin-bottom: 10px;
}
# -*- coding:utf-8 -*-
from django.shortcuts import render
from .models import UserMessage

# Create your views here.

def getform(request):


    # 查詢所有
    all_messages = UserMessage.objects.all()
    # 刪除所有
    all_messages.delete()
    for message in all_messages:
        name = message.name

    # 查詢單個(gè)
    all_messages =  UserMessage.objects.filter(name='xiaojinzi',address='anhui')
    for message in all_messages:
        # 刪除單個(gè)
        message.delete()
        name = message.name
        # 修改
        if name == 'xiaojinzi':
            message.address = '安徽'
            message.save()

    if request.method == "POST":
        name = request.POST.get("name")
        email = request.POST.get("email")
        message = request.POST.get("message")
        address = request.POST.get("address")
        user_message = UserMessage()
        user_message.name = name
        user_message.email = email
        user_message.message = message
        user_message.address = address
        user_message.object_id = 'xiaojinziya'
        user_message.save()

    return render(request,'message-form.html')
  • django templete 應(yīng)用

模板語(yǔ)言具體模板語(yǔ)言規(guī)范 django document


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<!--url函數(shù) 維護(hù)性強(qiáng)-->
<form action="{% url 'message_form' %}" method="post" class="smart-green">
    <h1>留言信息
        <span>請(qǐng)留下你的信息.</span>
    </h1>
    <label>
        <span>姓名 :</span>
        <!--后臺(tái)傳值接受-->
        <input id="name" type="text" name="name" class="error" value="{{ my_message.name }}" placeholder="請(qǐng)輸入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>郵箱 :</span>
        <input id="email" type="email" value="" name="email" placeholder="請(qǐng)輸入郵箱地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>聯(lián)系地址 :</span>
        <input id="address" type="text" value="" name="address" placeholder="請(qǐng)輸入聯(lián)系地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="請(qǐng)輸入你的建議"></textarea>
        <div class="error-msg"></div>
    </label>
    <div class="success-msg"></div>
    <label>
        <span>&nbsp;</span>
        <input type="submit" class="button" value="提交"/>
    </label>
    {% csrf_token %}
</form>
</body>
</html>

urls
url(r'^form/', getform,name='message_form')

views

return render(request,'message-form.html',{
        'my_message':message
    })

  • 本篇博客原視頻博主[慕課在線教育平臺(tái)]
  • 本篇博客撰寫人: XiaoJinZi 轉(zhuǎn)載請(qǐng)注明出處
  • 學(xué)生能力有限 附上郵箱: 986209501@qq.com 不足以及誤處請(qǐng)大佬指責(zé)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容