django资产管理系统代码
时间: 2023-09-07 10:15:04 浏览: 41
以下是一个简单的 Django 资产管理系统代码示例,您可以根据自己的需求进行修改和完善:
## models.py
```python
from django.db import models
class Asset(models.Model):
name = models.CharField(max_length=50)
category = models.CharField(max_length=50)
purchase_date = models.DateField()
purchase_price = models.DecimalField(max_digits=10, decimal_places=2)
status = models.CharField(max_length=50, default='In use')
location = models.CharField(max_length=50, default='Office')
remarks = models.TextField(blank=True)
def __str__(self):
return self.name
```
## views.py
```python
from django.shortcuts import render, redirect
from .models import Asset
from .forms import AssetForm
def asset_list(request):
assets = Asset.objects.all()
context = {
'assets': assets
}
return render(request, 'assets/asset_list.html', context)
def asset_detail(request, asset_id):
asset = Asset.objects.get(id=asset_id)
context = {
'asset': asset
}
return render(request, 'assets/asset_detail.html', context)
def asset_create(request):
if request.method == 'POST':
form = AssetForm(request.POST)
if form.is_valid():
asset = form.save(commit=False)
asset.save()
return redirect('asset_list')
else:
form = AssetForm()
context = {
'form': form
}
return render(request, 'assets/asset_form.html', context)
def asset_update(request, asset_id):
asset = Asset.objects.get(id=asset_id)
if request.method == 'POST':
form = AssetForm(request.POST, instance=asset)
if form.is_valid():
asset = form.save(commit=False)
asset.save()
return redirect('asset_detail', asset_id=asset.id)
else:
form = AssetForm(instance=asset)
context = {
'asset': asset,
'form': form
}
return render(request, 'assets/asset_form.html', context)
def asset_delete(request, asset_id):
asset = Asset.objects.get(id=asset_id)
asset.delete()
return redirect('asset_list')
```
## forms.py
```python
from django import forms
from .models import Asset
class AssetForm(forms.ModelForm):
class Meta:
model = Asset
fields = '__all__'
```
## urls.py
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.asset_list, name='asset_list'),
path('<int:asset_id>/', views.asset_detail, name='asset_detail'),
path('create/', views.asset_create, name='asset_create'),
path('<int:asset_id>/update/', views.asset_update, name='asset_update'),
path('<int:asset_id>/delete/', views.asset_delete, name='asset_delete'),
]
```
## asset_list.html
```html
{% extends 'base.html' %}
{% block content %}
<h1>Asset List</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Category</th>
<th>Purchase Date</th>
<th>Purchase Price</th>
<th>Status</th>
<th>Location</th>
<th>Remarks</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for asset in assets %}
<tr>
<td>{{ asset.name }}</td>
<td>{{ asset.category }}</td>
<td>{{ asset.purchase_date }}</td>
<td>{{ asset.purchase_price }}</td>
<td>{{ asset.status }}</td>
<td>{{ asset.location }}</td>
<td>{{ asset.remarks }}</td>
<td>
<a href="{% url 'asset_detail' asset.id %}">View</a>
<a href="{% url 'asset_update' asset.id %}">Edit</a>
<a href="{% url 'asset_delete' asset.id %}">Delete</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<a href="{% url 'asset_create' %}">Add Asset</a>
{% endblock %}
```
## asset_detail.html
```html
{% extends 'base.html' %}
{% block content %}
<h1>{{ asset.name }}</h1>
<p><strong>Category:</strong> {{ asset.category }}</p>
<p><strong>Purchase Date:</strong> {{ asset.purchase_date }}</p>
<p><strong>Purchase Price:</strong> {{ asset.purchase_price }}</p>
<p><strong>Status:</strong> {{ asset.status }}</p>
<p><strong>Location:</strong> {{ asset.location }}</p>
<p><strong>Remarks:</strong> {{ asset.remarks }}</p>
<a href="{% url 'asset_update' asset.id %}">Edit</a>
<a href="{% url 'asset_delete' asset.id %}">Delete</a>
{% endblock %}
```
## asset_form.html
```html
{% extends 'base.html' %}
{% block content %}
<h1>{% if asset %}Edit Asset{% else %}Add Asset{% endif %}</h1>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Save</button>
</form>
{% endblock %}
```
上述代码实现了一个简单的 Django 资产管理系统,包括资产列表、资产详情、创建资产、编辑资产和删除资产等功能。你可以根据自己的需求和实际情况进行修改和完善。