码迷,mamicode.com
首页 > 其他好文 > 详细

Django-C005-说说MVT之外的事情

时间:2019-06-29 00:32:39      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:其他   auth   field   roo   length   意思   style   base   ajax   

此文章完成度【1%】留着以后忘记的回顾。多写多练多思考,我会努力写出有意思的demo,如果知识点有错误、误导,欢迎大家在评论处写下你的感想或者纠错。 

【Django version】: 2.1

【pymysql version】:0.9.3

【python version】: 3.7

 

 

常用


 到此为止,关于Django框架的三大块MVT已经告一段落,让我们扩充一些Django其他的功能,为了更好的完成开发,而努力吧

主要知识点如下:

  1. 静态文件处理

  2. 中间件

  3. 上传图片

  4. admin站点

  5. 分页

  6. 示例:省市区选择、jquery、ajax

接下来才是每天都最重要的环节,重复重复不断重复的创建项目:  

创建项目test5

django-admin startproject test5

进入到项目目录test5,创建应用school

cd test5
python manage.py startapp school

在test5下的settings中的INSTALLED_APPS中注册应用

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

在test5下的settings中的DATABASES中指定数据库引擎,并配置

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql,
        NAME: school,
        USER: root,
        PASSWORD: toor,
        HOST: localhost,
        PORT: 3306,
    }
}

在test5下的settings中的TEMPLATS中添加模板路径

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,
            ],
        },
    },
]

创建模板目录,并将所有school的html添加到school这个文件夹中

技术图片

在test5下的urls.py,添加url配置指向到school应用下的urls.py中

from django.contrib import admin
from django.urls import path, include
app_url_patterns
= (school.urls, school)
urlpatterns
= [ path(admin/, admin.site.urls), path(‘‘, include(app_url_patterns, namespace=school)), ]

在school应用下创建urls.py 并且添加index测试路径

from django.urls import re_path, include
from . import views
urlpatterns=[
    re_path(r^$, views.index, name=index),
]

在school应用下的views.py中创建index视图

from django.shortcuts import render

def index(request):
    return render(request, ‘school/index.html‘)

在模板templates/school目录下创建index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用技术练习</title>
</head>
<body>
    <h1>常用技术练习</h1>
</body>
</html>

在应用school下的模型models.py中定义AreaInfo

from django.db import models


class AreaInfo(models.Model):
    """地区模型类"""
    name = models.CharField(max_length=50)
    area_parent = models.ForeignKey(self, on_delete=models.CASCADE, null=True, blank=True)

 

 

 

 静态文件


 

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用,也需要指定静态文件的路径,django中提供了一个解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下, 由于有些静态文件在项目中是通用,所以推荐放在项目的根目录下、方便使用。 

 

Django-C005-说说MVT之外的事情

标签:其他   auth   field   roo   length   意思   style   base   ajax   

原文地址:https://www.cnblogs.com/Hannibal-2018/p/11105251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!