{"id":18103119,"url":"https://github.com/mathison-ag/django-angular-dynamic-forms","last_synced_at":"2025-04-13T19:01:37.415Z","repository":{"id":26269396,"uuid":"104920269","full_name":"Mathison-AG/django-angular-dynamic-forms","owner":"Mathison-AG","description":"Angular 6 reactive forms integrated with Django Rest Framework viewsets, rapid development of forms","archived":false,"fork":false,"pushed_at":"2024-01-01T13:17:56.000Z","size":1892,"stargazers_count":22,"open_issues_count":29,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-26T06:47:24.494Z","etag":null,"topics":["angular2","angular5","django","django-rest-framework","forms","ng-dynamic-forms","reactive-forms"],"latest_commit_sha":null,"homepage":"https://mathison.ch","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mathison-AG.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-09-26T18:01:06.000Z","updated_at":"2024-11-27T19:09:14.000Z","dependencies_parsed_at":"2024-01-01T14:42:25.947Z","dependency_job_id":"42b61f7a-ce0a-4754-a557-87d858238432","html_url":"https://github.com/Mathison-AG/django-angular-dynamic-forms","commit_stats":null,"previous_names":["mesemus/django-angular-dynamic-forms","oesah/django-angular-dynamic-forms"],"tags_count":80,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathison-AG%2Fdjango-angular-dynamic-forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathison-AG%2Fdjango-angular-dynamic-forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathison-AG%2Fdjango-angular-dynamic-forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mathison-AG%2Fdjango-angular-dynamic-forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mathison-AG","download_url":"https://codeload.github.com/Mathison-AG/django-angular-dynamic-forms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246178290,"owners_count":20736117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular2","angular5","django","django-rest-framework","forms","ng-dynamic-forms","reactive-forms"],"created_at":"2024-10-31T22:10:18.638Z","updated_at":"2025-03-29T11:30:52.035Z","avatar_url":"https://github.com/Mathison-AG.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Django Rest Framework meets Angular 6 dynamic forms\n===================================================\n\nThis repo provides Django mixins and Angular library for rapid\ndevelopment of create/edit dialogs for django rest framework.\nIt depends on Django 2, Angular 6 and Material UI.\n\nNote: support for Angular 5 and Django\u003c2 is not actively developed - use\nrelease/angular5 branch or 1.1.* versions of packages if you need that.\n\nOn django side, extend your ``Viewset`` to use ``AngularFormMixin``\nand optionally configure the mixin by providing either layout\ninformation or field defaults (such as css classes). See demos\nfor details.\n\n.. code-block:: python\n\n    class CityViewSet(AngularFormMixin, viewsets.ModelViewSet):\n        \"\"\"\n        API for cities\n        \"\"\"\n        queryset = City.objects.all()\n        serializer_class = CitySerializer\n\n\nOn angular side, use ``DjangoFormDialogService`` to display a dialog:\n\n.. code-block:: typescript\n\n    constructor(private dialog: DjangoFormDialogService) {\n    }\n    createCity() {\n        this.dialog.open('/api/1.0/cities/').subscribe(result =\u003e {\n            console.log('City created, result from server is:', result);\n        });\n    }\n\nYou can also display the form inside your own component via ``\u003cdjango-inpage-form\u003e`` tag.\n\n.. code-block:: html\n\n    \u003cdjango-inpage-form django_url=\"/api/1.0/cities/\"\n                        (submit)=\"submit($event)\"\n                        (cancel)=\"cancel($event)\"\u003e\u003c/django-inpage-form\u003e\n\n\n\nDemo and sample source files\n----------------------------\n\nSee demos at http://mesemus.no-ip.org:12569\n\n.. image:: https://raw.githubusercontent.com/mesemus/django-angular-dynamic-forms/develop/docs/demo.png\n\nWith a bit of work on your side, foreign keys and many-to-many relationships are supported as well (see the demos for details)\n\n.. image:: https://raw.githubusercontent.com/mesemus/django-angular-dynamic-forms/develop/docs/foreign_key.png\n\n\n\nInstallation\n------------\n\n*Django side:*\n\n.. code-block:: bash\n\n    pip install django-angular-dynamic-forms\n\n*Angular side:*\n\n.. code-block:: bash\n\n    npm install --save django-angular-dynamic-forms @ng-dynamic-forms/core @ng-dynamic-forms/ui-material\n\nTo render forms, this library uses https://github.com/udos86/ng-dynamic-forms - do not forget\nto add it to your package.json.\n\nand add ``DjangoFormModule`` to imports. You will need to provide your own ErrorService for showing\ncommunication errors back to the user. See the ``demo/angular/src/app/mat-error.service.ts`` for\nan example implementation.\n\n.. code-block:: typescript\n\n    import {DjangoFormModule, ErrorService} from 'django-angular-dynamic-forms';\n\n    @NgModule({\n        declarations: [\n            ...\n        ],\n        imports: [\n            BrowserAnimationsModule,\n            DynamicFormsCoreModule.forRoot(),\n            DynamicFormsMaterialUIModule,\n            DjangoFormModule,\n            HttpClientModule,\n            ...\n        ],\n        providers: [\n            {\n                provide: ErrorService,\n                useClass: MatErrorService\n            },\n        ],\n        bootstrap: [AppComponent]\n    })\n    export class AppModule {\n    }\n\n\nConfiguration\n-------------\n\nIf your angular and django server are on the same host/port (see\nhttps://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md for development tips),\nno configuration is necessary.\n\nIf angular and django are on different hosts/ports, set django setting ``ANGULAR_FORM_ABSOLUTE_URLS=True`` (\nthanks @sssolid for pointing this out).\n\nSponsorship\n-----------\n\n* `Mathison AG | Mobile \u0026 Web Development \u003chttps://mathison.ch\u003e`_.\n* `Stella Gastro | The best Restaurants, Bars and Cafés in Switzerland \u003chttps://stellagastro.ch\u003e`_.\n* `Lancer Express | The Swiss Army Knife for Freelancers \u003chttps://my.lancer.express\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathison-ag%2Fdjango-angular-dynamic-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathison-ag%2Fdjango-angular-dynamic-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathison-ag%2Fdjango-angular-dynamic-forms/lists"}