美文网首页
django-基础知识学习

django-基础知识学习

作者: Just_do_1995 | 来源:发表于2019-01-19 11:07 被阅读0次

djanjo实战环境搭建

  • 虚拟环境搭建

具体内容详见环境搭建


## env 仓库
pip install virtualenvwrapper-win

  • mysql 和 pycharm使用自行学习

django简单使用

  • django基础知识
# 创建app

tool 工具中 run manage.py task

startapp appname


  • django基本目录结构
apps 项目工程

media 用户上传文件

log 日志文件

static 静态文件

  • mysql 数据库连接以及默认表生成

驱动地址



下载对应驱动

跳转虚拟环境

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


更改数据库驱动

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运行原理

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)
]


模板+静态文件地址设置
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 的创建

- 创建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注册
# Application definition

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

表结构文件生成

makemigrations

migrate

model 实现增删改查

<!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>请留下你的信息.</span>
    </h1>
    <label>
        <span>姓名 :</span>
        <input id="name" type="text" name="name" class="error" placeholder="请输入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>邮箱 :</span>
        <input id="email" type="email" value="" name="email" placeholder="请输入邮箱地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>联系地址 :</span>
        <input id="address" type="text" value="" name="address" placeholder="请输入联系地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="请输入你的建议"></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

    # 查询单个
    all_messages =  UserMessage.objects.filter(name='xiaojinzi',address='anhui')
    for message in all_messages:
        # 删除单个
        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 应用

模板语言具体模板语言规范 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函数 维护性强-->
<form action="{% url 'message_form' %}" method="post" class="smart-green">
    <h1>留言信息
        <span>请留下你的信息.</span>
    </h1>
    <label>
        <span>姓名 :</span>
        <!--后台传值接受-->
        <input id="name" type="text" name="name" class="error" value="{{ my_message.name }}" placeholder="请输入您的姓名"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>邮箱 :</span>
        <input id="email" type="email" value="" name="email" placeholder="请输入邮箱地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>联系地址 :</span>
        <input id="address" type="text" value="" name="address" placeholder="请输入联系地址"/>
        <div class="error-msg"></div>
    </label>

    <label>
        <span>留言 :</span>
        <textarea id="message" name="message"  placeholder="请输入你的建议"></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
    })

相关文章

  • django-基础知识学习

    djanjo实战环境搭建 虚拟环境搭建 具体内容详见环境搭建 mysql 和 pycharm使用自行学习 djan...

  • [原](05)Django-创建我的网页

    Django-创建我的网页 源码地址:https://github.com/edrainann/Django_we...

  • Web应用框架

    Django-提供了构建Web系统的基本应用框架-MTV模式: 模型(model), 模板(Template), ...

  • 2018-04-25

    Django-上传图片 1. 模型定义中将属性定义成 models.ImageField 类型 pic=model...

  • Python 爬虫实战(一) - 简介

    学习流程 爬虫基础知识 学习体验

  • Django-分页

    Django-分页 1.创建对象 Paginator 对象的 page()方法返回 Page 对象,不需要手动构造...

  • django起航2-初始模板

    Django-模板 在应用目录blog下创建templates目录(必须是这个,记得加s) 在templates中...

  • Django-分页

    django-分页 一.django自带的分页 以读取UserInfo表为例 1.导入模块 from django...

  • 中学学习计划

    家长根据孩子特点,制订适合孩子的学习计划,如果在基础知识方面有欠缺,优先补充基础知识学习,基础知识是最重要的,占中...

  • 读书的本质是什么

    书本上的基础知识是学习任何技能的前提 书本上的基础知识是学习及理解任何技能的基础,书本的知识都是基础知识,...

网友评论

      本文标题:django-基础知识学习

      本文链接:https://www.haomeiwen.com/subject/esbadqtx.html