Django文件

App文件夹

migrations文件

  • 生成models创建表的翻译语句

telemplatetags文件夹

  • telemplatetags文件夹下的文件专门用来创建自定义标签、自定义过滤器、自定义组件

    1. 导入from djiago import template
    2. register = tmplate.Library()
    3.装饰器装饰某个函数@register.filretr(自定义过滤器)、@register.simple_tag(自定义标签)、@register.inclusion_tag(放组件html文件)(自定义组件)

admin文件

  • 把数据库中的表添加到admin页面中,进行操作

    from django.contrib import admin
    from app01 import models
    class UserinfoAdmin(admin.ModelAdmin):
    list_display = ['id','username','password'] #设置显示在列表中的字段,id为Django中的默认主键
    list_editable = ['username','password','telephone','email'] #设置可编辑字段
    list_per_page = 50 #设置每页显示多少数据,默认为100
    ordering = ('-id',) #设置默认排序字段,负号为降序排序
    fk_fields = ('machine_room_id',) #设置显示外键字段 admin.site.register(models.Userinfo,UserinfoAdmin)
    admin.site.register(models.Customer)
    admin.site.register(models.Campuses)
    admin.site.register(models.ClassList)
    admin.site.register(models.ConsultRecord)
    admin.site.register(models.Enrollment)
    admin.site.register(models.CourseRecord)
    admin.site.register(models.StudyRecord)

mymiddleware文件夹

  • 一般用来创建中间件,需要在项目文件夹下settings文件中配置MIDDLEWARE属性,中间件才能生效

    中间件文件

    from django.utils.deprecation import MiddlewareMixin
    from django.shortcuts import redirect
    from django.urls import reverse
    import re class Auth(MiddlewareMixin): #创建的类需要继承MiddlewareMixin
    # white_list = ['/login/', '/register/', '/admin.*']
    white_list = [reverse('login'), reverse('register'), '/admin.*']
    def process_request(self,request): #定义process_request(请求时处理)
    current_path = request.path #当前请求路径
    for re_path in self.white_list:
    reg = r"^%s$"%re_path
    # print(re.search(reg, current_path).group())
    if re.search(reg, current_path):
    break
    else:
    name = request.session.get('name')
    if not name:
    return redirect('login')

    settings配置文件

    MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'app01.mymiddleware.zjj.Auth' #自定义中间件
    ]

models文件

  • 创建数据库中的数据表

    settings配置文件添加数据库配置

    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql', #设置数据库为Mysql
    'NAME':'crm', #数据库名
    'HOST':'127.0.0.1', #数据库IP
    'PORT':3306, #数据库端口
    'USER':'root', #数据库用户
    'PASSWORD':'123' #数据库密码
    }
    }

    在model文件中导入 from django.db import models,并创建数据表

    from django.db import models
    class Userinfo(models.Model):
    username = models.CharField(max_length=32,unique=True)
    password = models.CharField(max_length=32)
    telephone = models.CharField(max_length=32,db_index=True)
    email = models.CharField(max_length=32)
    is_active = models.BooleanField(max_length=32,default=True)
    def __str__(self):
    return self.username

    在app应用文件夹下的--init--文件中导入

    import pymysql
    pymysql.install_as_MySQLdb()

    在终端执行数据库执行指令

    python manage.py makemigrations
    python manage.py migrate

Views文件

  • 用来封装视图函数,试图函数分为cbv和fbv

    CBV

    from django.views import View
    class Register(View): #类继承form django.views import View
    def get(self,request):
    pass
    def post(self,request):
    pass

    FBV

    def home(request):
    if request.method == 'GET':
    pass
    else request.mothed == "POST":
    pass

项目文件夹

settings文件

  • settings文件用来配置基本信息:
DATABASES配置数据库相关,
STATICFILES_DIRS配置静态文件夹的路径,
STATIC_URL配置静态文件夹的别名,
INSTALLED_APPS配置app应用文件,
MIDDLEWARE配置中间件,
TEMPLATES配置template文件夹的一些信息, APPEND_SLASH =False # settings文件夹下写这句话,如果别人请求我的路径的时候,你不要自己处理别人输入的路径最后面的/了

urls文件

  • 路径文件用来分发路径

    from django.conf.urls import url
    from django.contrib import admin
    from app01 import views urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', views.Login.as_view(), name='login'), #登录
    url(r'^logout/', views.logout, name='logout'), #注销
    url(r'^register/', views.Register.as_view(), name='register'), #注册

statefile文件夹

  • 用来放置静态文件,如css和js文件、图片。需要在settings文件中配置STAICFIELS属性

    settings配置

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

templates文件夹

  • 放置html文件,可以进行模板渲染

Django文件夹的更多相关文章

  1. Django 项目中添加静态文件夹

    在 mysite 文件夹下添加一个 statics 文件夹用来存放 js 文件 在 index.html 文件中添加 <!DOCTYPE html> <html lang=" ...

  2. Django中程序中图片资源的路径问题(static文件夹的放置)

    步骤1:在settings.py文件的最后加上以下内容: STATIC_URL = '/static/'STATIC_ROOT = os.path.join(os.path.dirname(__fil ...

  3. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(三):设置上传文件夹权限(这里测试用完全共享)

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  4. Django设置上传文件夹

    django提供了两种字段类型models.FileField与models.ImageField,用于保存上传文件与图象.这两类字段提供了一个参数'upload_to',用于定义上传文件保存的路径( ...

  5. django创建第一个子文件夹

    1.首先安装python, 我安装了Python2.7的版本,安装在了D:\Python25\2.接着安装django,我下载了django 1.6的版本.3. 安装完了之后,打开cmd,然后可以检验 ...

  6. Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹

    功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...

  7. First Django app(各个文件以及文件夹解析)

    mkdir mysite cd mysite django-admin.py startproject mysite 执行上面的命令,得到一下内容: mysite/ manage.py mysite/ ...

  8. django中多个app放入同一文件夹apps

    开发IDE:pycharm 新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm 中,右键 ...

  9. django的所有app放在一个文件夹下便于管理

    1.新建一个python Package,名字叫apps 2.拖拽以后的app到apps文件夹下,把Search for references勾选去掉,重要重要重要!!!! 3.右键点击apps文件夹 ...

随机推荐

  1. Git操作:查看所有分支的提交修改

    我们在廖雪峰Git教程或者一些书籍学习git分支时,大都会学习到这样一个命令git log --graph或者就是单纯的git log,他可以用来查看当前分支.但是这个弊端就是:它只能查看与当前分支有 ...

  2. C++中字符常量与字符常量不能直接相加

    定义string变量,并进行初始化,如下: string s1 = "Hello"; string s2 = s1 + "World"; string s3 = ...

  3. 二次剩余的判定及Cipolla算法

    二次剩余 ppp是奇素数.所有的运算都是在群Zp∗Z_{p}^{*}Zp∗​中的运算.方程x2=a≠0x^2=a \neq 0x2=a̸​=0问是否有解,以及解是什么?若有解,aaa就是模ppp的二次 ...

  4. 拓展lucas结论及模板

    lucas及其拓展 模板题 洛谷 P4720 本文侧向结论和代码实现, 推导请转至lucas定理及其拓展的推导 https://blog.csdn.net/yuyilahanbao/article/d ...

  5. 如何开启音乐二倍速?不下载其他软件【win10】

    使用windows自带的windows media player开启N倍速 绪言 额……暑假将终,我想起了件事:貌似我忘记帮你们开好二倍速再走了. 可能我回(六班)来的机会也比较少,废话不多说,直接看 ...

  6. maven的核心概念——依赖

    一.STS集成maven(以下是mac版的STS) 1.点击Spring Tool Suite,点击preferences maven中的installations 点击add,选择对应的路径即可 点 ...

  7. IDEA安装Flutter遇到的坑

    环境: ①IDEA2019.3.3 ②JAVA12 ③Android-SDK29.0.3 ④Flutter1.14.6 ⑤WINDOWS10.0.18363.657 ⑥AL10实体机,Android8 ...

  8. 【笔记】机器学习 - 李宏毅 - 7 - Deep Learning

    深度学习发展历史: 感知机和逻辑回归很像,只是没有\(sigmoid\)激活函数. 深度学习训练的三个步骤: Step1:神经网络(Neural network) Step2:模型评估(Goodnes ...

  9. Web_0005:阿里云服务器OSS权限的配置开通

    创建用户 1,创建子用户 2,点击新建用户 3,设置账号类型,可以同时选 设置权限 1,设置对阿里云模块的控制权限,如 oss  ecs 等的访问控制权限 2,点击所需的权限 3,获取账号的Acess ...

  10. 1-1.初始K8s

    术语及原理 Master(主节点:control plane) 集群中的神经中枢网关.负责整个集群的资源管理.Pod调度.弹性伸缩.安全控制.系统监控.纠错等管理功能. ApiServer 集群的网关 ...