zoukankan      html  css  js  c++  java
  • stark项目流程

    1 创建Django项目

    2 创建app

      python manage.py startapp app名

    3 文件配置

      app配置

      静态文件配置

        创建文件夹,下载bootstrap,jquery 归档文件夹,

        文件下载参考:我的网址    

        补充:静态文件可创建在stark(app)下,可以不用配置静态文件?

      数据库配置:默认sqlite3

    4 创建关系表

      1 创建表

      2 数据库迁移

        python manage.py makemigrations

        python manage.py migrate

      3 查看数据表:参考Django数据库----在Django中查看数据库

      

    4 stark启动:

      1 对stark下apps.py文件进行配置

    from django.apps import AppConfig
    from django.utils.module_loading import autodiscover_modules
    
    class StarkConfig(AppConfig):
        name = 'stark'
        def ready(self):
            autodiscover_modules('admin')
    文件配置

      2 单例一个site:单例参考五种单例模式

    class StarkModel:
        pass
    
    
    # 单例site
    class StarkSite(object):
        def __init__(self):
            """
            _registry:将所有表及所对应的配置类对象统一存放在字典中
            """
            self._registry={}  # registry:注册
        def register(self,model,stark_model=None):
            # 判断每张表有没有自定义的配置类对象
            if stark_model:
                stark_model = StarkModel
            self._registry[model] = stark_model(model)
    
    
    
    
    site = StarkSite()
    实例化site

      3 并且在每个app下创建stark.py文件

    5 注册

      在每个app下创建stark.py文件中

      site.register(Book):即将所有表和所对应的模型类放在site._register对应的字典中 

    class StarkSite(object):
        def __init__(self):
            """
            _registry:将所有表及所对应的配置类对象统一存放在字典中
            """
            self._registry={}  # registry:注册
        def register(self,model,stark_model=None):
            # 判断每张表有没有自定义的配置类对象
            if stark_model:
                stark_model = StarkModel
            self._registry[model] = stark_model(model)
    View Code

    6 设计url

       多级路由设计:参考Django多级路由设计

      

        # 设计url 1 --二级路由 
        @property
        def urls(self):
            
            return self.get_urls(), None, None
        # 设计url 2 --二级路由的路由列表 
        def get_urls(self):
            temp = []
            # for循环获取每张表对应的url
            # config_obj.urls获取每张表对应的增删改查url,及所对应的视图函数,方便视图函数调用
            for model,config_obj in self._registry.items():
                temp=[
                    url(r'{}/{}'.format(model._meta.app_label,model._meta.model_form),config_obj.urls)
                ]
            return temp
  • 相关阅读:
    使用jquery插件validate制作的表单验证案例
    POJ2992:Divisors(求N!因子的个数,乘性函数,分解n!的质因子(算是找规律))
    HDU1695:GCD(容斥原理+欧拉函数+质因数分解)好题
    HDU4135Co-prime(容斥原理)
    HDU1796How many integers can you find(容斥原理)
    Miller-Rabin素数测试算法(POJ1811Prime Test)
    乘法逆元+模的运算规则
    因子和与因子个数 (乘性函数)
    费马小定理的证明:
    整数(质因子)分解(Pollard rho大整数分解)
  • 原文地址:https://www.cnblogs.com/benson321/p/9582933.html
Copyright © 2011-2022 走看看