Skip to content

Commit 9631a88

Browse files
committed
django-low-code DEMO
0 parents  commit 9631a88

File tree

510 files changed

+281917
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

510 files changed

+281917
-0
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
logs/*

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.js linguist-language=Python
2+
*.html linguist-language=Python

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.svn
2+
.git
3+
*.pyc
4+
*.log
5+
# logs/
6+
nohup.out
7+
# apps/*/migrations/0*.py
8+
# migrations
9+
# settings.py
10+
static/bak
11+
static/t
12+
__pycache__
13+

README.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# django-views-templates 示例
2+
3+
django-low-code 低代码演示, 项目 https://github.com/py2010/django-generic-views-templates
4+
5+
* 功能:
6+
7+
django通用视图/模板演示
8+
示例模板使用的 inspinia_admin-v2.7 大家可自行换成自己的模板.
9+
1. 通用视图模板
10+
2. 列表页分页/查询/SQL优化
11+
3. 虚拟关联
12+
13+
* app:
14+
15+
apps/generic/ # django-views-templates项目APP
16+
apps/a/ # 常规功能演示 (数据库: default)
17+
apps/mirror/ # a的镜像, 零代码app
18+
apps/vr/ # 跨库外键/m2m演示 (数据库: vr)
19+
20+
21+
* 环境:
22+
23+
linux
24+
python3.6
25+
django2.2 (django 1.11可能也支持)
26+
27+
* 部署:
28+
29+
# python3, 安装依赖库:
30+
pip3 install django==2.2.20
31+
pip3 install PyYAML==5.1
32+
pip3 install django-bootstrap3==11.1.0
33+
34+
# 拉取代码
35+
git clone https://github.com/py2010/example
36+
或国内 git clone https://gitee.com/py2010/example
37+
38+
# 运行django - runserver
39+
cd example
40+
c/d
41+
42+
# 访问网站
43+
http://127.0.0.1:808
44+
使用账号/密码都是"demo"进行登录
45+
46+
47+
* 跨库关联 - 演示图
48+
![vr](vr.png "跨库")
49+
50+
51+
* 其它的大家自己研究.
52+
53+

apps/__init__.py

Whitespace-only changes.

apps/a/__init__.py

Whitespace-only changes.

apps/a/admin.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from django.contrib import admin
2+
3+
from . import models
4+
5+
6+
@admin.register(models.P)
7+
class PAdmin(admin.ModelAdmin):
8+
9+
list_display = ('name', )
10+
11+
12+
@admin.register(models.T)
13+
class TAdmin(admin.ModelAdmin):
14+
15+
list_display = ('name', )
16+
17+
18+
@admin.register(models.M)
19+
class MAdmin(admin.ModelAdmin):
20+
21+
list_display = ('name', )
22+
23+
24+

apps/a/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class AConfig(AppConfig):
5+
name = 'demo'
6+
verbose_name = '演示'

apps/a/migrations/0001_initial.py

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Generated by Django 2.2.19 on 2021-10-20 11:25
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
initial = True
10+
11+
dependencies = [
12+
]
13+
14+
operations = [
15+
migrations.CreateModel(
16+
name='B',
17+
fields=[
18+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19+
('name', models.CharField(default='bbb', max_length=30, verbose_name='名称')),
20+
],
21+
options={
22+
'verbose_name': 'BB',
23+
'ordering': ['name'],
24+
},
25+
),
26+
migrations.CreateModel(
27+
name='M',
28+
fields=[
29+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
30+
('name', models.CharField(default='mmm', max_length=30, verbose_name='名称')),
31+
],
32+
options={
33+
'verbose_name': 'M',
34+
'ordering': ['name'],
35+
},
36+
),
37+
migrations.CreateModel(
38+
name='One',
39+
fields=[
40+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
41+
('name', models.CharField(default='ooo', max_length=30, verbose_name='名称')),
42+
('b', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.B', verbose_name='B')),
43+
],
44+
options={
45+
'verbose_name': 'OO',
46+
'ordering': ['name'],
47+
},
48+
),
49+
migrations.CreateModel(
50+
name='P',
51+
fields=[
52+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
53+
('name', models.CharField(default='ppp', max_length=30, verbose_name='名称')),
54+
('desc', models.CharField(blank=True, max_length=100, null=True, verbose_name='描述')),
55+
('b', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.B', verbose_name='B')),
56+
],
57+
options={
58+
'verbose_name': '类型',
59+
'ordering': ['name'],
60+
},
61+
),
62+
migrations.CreateModel(
63+
name='T',
64+
fields=[
65+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
66+
('name', models.CharField(default='ttt', max_length=30, verbose_name='名称')),
67+
('one', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.One', verbose_name='One')),
68+
('p', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.P', verbose_name='P')),
69+
],
70+
options={
71+
'verbose_name': 'T',
72+
'ordering': ['name'],
73+
},
74+
),
75+
migrations.CreateModel(
76+
name='M2T',
77+
fields=[
78+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
79+
('m', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='a.M', verbose_name='M')),
80+
('t', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='a.T', verbose_name='T')),
81+
],
82+
options={
83+
'verbose_name': 'M2T',
84+
},
85+
),
86+
migrations.AddField(
87+
model_name='m',
88+
name='one',
89+
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.One', verbose_name='One'),
90+
),
91+
migrations.AddField(
92+
model_name='m',
93+
name='p',
94+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='a.P', verbose_name='P'),
95+
),
96+
migrations.AddField(
97+
model_name='m',
98+
name='t',
99+
field=models.ManyToManyField(blank=True, to='a.T', verbose_name='T'),
100+
),
101+
]

apps/a/migrations/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)