Django文件夹

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文件,可以进行模板渲染
原文地址:https://www.cnblogs.com/Nayears/p/12161561.html