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)

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

stark项目流程的更多相关文章

  1. iOS开发项目之一 [ 项目流程]

    项目流程 *人员配置 *客户端(iOS工程师,Android工程师) *前端 h5 *后台人员(php,java,net) *提供接口(请求地址.请求参数,请求方式,接口文档) *UI UE * 效果 ...

  2. ng机器学习视频笔记(十六) ——从图像处理谈机器学习项目流程

    ng机器学习视频笔记(十六) --从图像处理谈机器学习项目流程 (转载请附上本文链接--linhxx) 一.概述 这里简单讨论图像处理的机器学习过程,主要讨论的是机器学习的项目流程.采用的业务示例是O ...

  3. vue框架构建项目流程

    构建项目流程: 1.全局查询:node -v 2.全局初始化:npm install --global vue-cli 3.模块化工程:vue init webpack myapp--->y,n ...

  4. 在IDEA中构建Tomcat项目流程

    在IDEA中构建Web项目流程 打开你的IDEA,跟着我走! 第一步:新建项目 第二步:找到Artifacts 点击绿色的+号,如图所示,点一下 这一步很关键,目的是设置输出格式为war包,如果你的项 ...

  5. Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型

    Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型 项目主体三个部分 ui界面,中间层,数据库 按照不同的比重可以分为一下三个模型  哑铃型  橄榄型 直板型 哑铃型 开 ...

  6. Vue 简单的总结四(项目流程,DIY脚手架、vue-cli的使用)

    项目流程 1.下载 cdn 2.引包 vue-router依赖vue vue-router.js 3.如果是模块化机制 Vue.use(vue-router) 4.创建示例 let Home = {/ ...

  7. django搭建简单开发项目流程(一)

    1 搭建环境 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境 virtualenv -p pyt ...

  8. BBS+Blog项目流程及补充知识点

    项目流程: 1. 产品需求 (1)基于用户认证组件和Ajax实现登陆验证(图片验证码) (2)基于forms组件和Ajax实现注册功能 (3)设计系统首页(文章列表渲染) (4)设计个人站点页面 (5 ...

  9. gulp创建完整的项目流程

    所有的环境都是在 node 安装好的基础上执行的. node -v 查看node的安装情况.npm -v查看npm 的安装情况. gulp自动化构建常用参数 1.src 读取文件或者文件夹 2.des ...

随机推荐

  1. java——多态例题

    class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { re ...

  2. 游记-pkupc&cts2019

    Day0 和boshi.Rayment组的队,昨天听学长说这次比赛可以加学分,他们信科的大部分人都会参加,估摸有两百多支队伍--然而奖品只有不到一百份 我要奖品呐! 上午十一点半到的北京,拉着行李提着 ...

  3. (十四)Hibernate中的多表操作(4):单向一对一

    案例一: 注解方式实现一对一 UserBean.java package bean; import java.io.Serializable; import javax.persistence.Col ...

  4. pytorch神经网络实现的基本步骤

    转载自:https://blog.csdn.net/dss_dssssd/article/details/83892824 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载 ...

  5. React/动态绑定class

    第一种 字符串拼接 <i className={["iconfont"+" "+item.icon]} ></i> 第二种 有判断条件的 ...

  6. GIL锁、进程池与线程池、同步异步

    GIL锁定义 GIL锁:Global Interpreter Lock  全局解释器 本质上是一把互斥锁 官方解释: 在CPython中,这个全局解释器锁,也称为GIL,是一个互斥锁,防止多个线程在同 ...

  7. 常用的virsh管理命令

    常用的virsh管理命令 列出所有的虚拟机 [root@ubuntu ~]# virsh list --all 显示虚拟机信息 [root@ubuntu ~]# virsh dominfo CentO ...

  8. socket技术详解

    https://blog.csdn.net/weixin_39634961/article/details/80236161 socket编程是网络常用的编程,我们通过在网络中创建socket关键字来 ...

  9. Delphi 安装apk

    procedure ToInstallApk(filename: string); var aFile: Jfile; Intent: JIntent; begin Try aFile := TJfi ...

  10. Linux服务器TIME_WAIT进程的解决与原因

    linux服务器上tcp有大量time_wait状态的解决方法和原因解释 毫无疑问,TCP中有关网络编程最不容易理解的是它的TIME_WAIT状态,TIME_WAIT状态存在于主动关闭socket连接 ...