Skip to content

Commit d6408ef

Browse files
committed
Initial content
1 parent 9d39b7e commit d6408ef

23 files changed

+1809
-2
lines changed

README.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,36 @@
1-
# netbox-plugin-tutorial
2-
A tutorial on building custom plugins for NetBox v3.2+
1+
# NetBox Plugin Development Tutorial
2+
3+
This guide seeks to demonstrate the process of developing a custom plugin for NetBox v3.2 or later. By following each of the prescribed steps, the reader will create from scratch a simple plugin for managing access lists in NetBox, utilizing all major components of the NetBox plugin framework.
4+
5+
A completed copy of the demo plugin created in this tutorial is available in the [`netbox-plugin-demo`](https://github.com/netbox-community/netbox-plugin-demo) repository for reference. For your convenience, the completed code corresponding to each step in the tutorial exists as a named branch in the demo repo. For example, if you want to start fresh on step 5, simply check out the `step04-forms` branch.
6+
7+
### Prerequisites
8+
9+
Before attempting to create a plugin, please assess your personal ability. Plugin authors should have reasonable proficiency in the following:
10+
11+
* Python programming
12+
* The [Django](https://www.djangoproject.com/) framework
13+
* REST API fundamentals (where applicable)
14+
* Installing, configuring, and using NetBox
15+
16+
### Contents
17+
18+
* [Step 1: Initial Setup](/tutorial/step01-initial-setup.md) (Start here!)
19+
* [Step 2: Models](/tutorial/step02-models.md)
20+
* [Step 3: Tables](/tutorial/step03-tables.md)
21+
* [Step 4: Forms](/tutorial/step04-forms.md)
22+
* [Step 5: Views](/tutorial/step05-views.md)
23+
* [Step 6: Templates](/tutorial/step06-templates.md)
24+
* [Step 7: Navigation](/tutorial/step07-navigation.md)
25+
* [Step 8: Filter Sets](/tutorial/step08-filter-sets.md)
26+
* [Step 9: REST API](/tutorial/step09-rest-api.md)
27+
* [Step 10: GraphQL API](/tutorial/step10-graphql.md)
28+
29+
### Getting Help
30+
31+
If you run into any snags working through the tutorial, please join us in the **#netbox** channel on the [NetDev Community Slack](https://netdev.chat/) for help.
32+
33+
### Feedback and Issues
34+
35+
If you happen to uncover an error or discrepancy in the tutorial, please be sure to [open an issue](https://github.com/netbox-community/netbox-plugin-tutorial/issues/new/choose) so that it can be documented and fixed.
36+
17.6 KB
Loading

images/step05-accesslist-form.png

31.8 KB
Loading

images/step05-accesslist-list.png

22 KB
Loading

images/step06-accesslist1.png

31.9 KB
Loading

images/step06-accesslist2.png

50.6 KB
Loading

images/step06-accesslistrule.png

46.3 KB
Loading

images/step07-menu-items1.png

6.74 KB
Loading

images/step07-menu-items2.png

7.1 KB
Loading

images/step08-filter-form.png

28.9 KB
Loading

0 commit comments

Comments
 (0)