first views. WIP
This commit is contained in:
parent
d2388c4d4c
commit
36e2ee216d
|
@ -4,7 +4,7 @@ from django.utils.translation import gettext as _
|
|||
|
||||
class Player(models.Model):
|
||||
|
||||
name = models.CharField(max_length=255)
|
||||
name = models.CharField(max_length=255, unique=True)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("player")
|
||||
|
@ -14,7 +14,7 @@ class Player(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("player_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:player_detail", kwargs={"pk": self.pk})
|
||||
|
||||
class Resource(models.Model):
|
||||
|
||||
|
@ -29,7 +29,7 @@ class Resource(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("resource_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:resource_detail", kwargs={"pk": self.pk})
|
||||
|
||||
|
||||
class Adventure(models.Model):
|
||||
|
@ -47,7 +47,7 @@ class Adventure(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("adventure_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:adventure_detail", kwargs={"pk": self.pk})
|
||||
|
||||
|
||||
class Character(models.Model):
|
||||
|
@ -64,7 +64,7 @@ class Character(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("character_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:character_detail", kwargs={"pk": self.pk})
|
||||
|
||||
class PlaySession(models.Model):
|
||||
|
||||
|
@ -82,7 +82,7 @@ class PlaySession(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("playsession_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:playsession_detail", kwargs={"pk": self.pk})
|
||||
|
||||
|
||||
class ResourceEarned(models.Model):
|
||||
|
@ -99,4 +99,4 @@ class ResourceEarned(models.Model):
|
|||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("resourceearned_detail", kwargs={"pk": self.pk})
|
||||
return reverse("guild:resourceearned_detail", kwargs={"pk": self.pk})
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Character: {{ character.name }}</h1>
|
||||
|
||||
<h2>
|
||||
Played by:
|
||||
<a href="{% url 'guild:player_detail' character.player.id %}">
|
||||
{{ character.player.name }}
|
||||
</a>
|
||||
</h2>
|
||||
|
||||
<p>{{character.description}}</p>
|
||||
|
||||
{% endblock content %}
|
|
@ -0,0 +1,9 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<input type="submit" value="Create Character">
|
||||
</form>
|
||||
{% endblock content %}
|
|
@ -2,4 +2,9 @@
|
|||
|
||||
{% block content %}
|
||||
<h1>Home</h1>
|
||||
|
||||
<a href="{% url 'guild:create_player' %}">Create New Player</a>
|
||||
<a href="{% url 'guild:create_character' %}">Create New Character</a>
|
||||
|
||||
|
||||
{% endblock content %}
|
|
@ -0,0 +1,18 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Player: {{ player.name }}</h1>
|
||||
|
||||
<h2>Characters</h2>
|
||||
|
||||
{% if not player.character_set %}
|
||||
<p>No characters found.</p>
|
||||
{% else %}
|
||||
<ul>
|
||||
{% for character in player.character_set.all %}
|
||||
<li><a href="{% url 'guild:character_detail' character.id %}">{{ character.name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% endblock content %}
|
|
@ -0,0 +1,9 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
{{ form.as_p }}
|
||||
<input type="submit" value="Create Player">
|
||||
</form>
|
||||
{% endblock content %}
|
|
@ -1,6 +1,13 @@
|
|||
from django.urls import path
|
||||
import guild.views as views
|
||||
import guild.views.player as player_views
|
||||
import guild.views.character as character_views
|
||||
|
||||
urlpatterns = [
|
||||
path("", views.HomeView.as_view(), name="home"),
|
||||
# path("players/", views.PlayerListView.as_view(), name="player_list"),
|
||||
path("players/create/", player_views.CreatePlayerView.as_view(), name="create_player"),
|
||||
path("players/<int:pk>/", player_views.PlayerDetailView.as_view(), name="player_detail"),
|
||||
path("characters/create/", character_views.CreateCharacterView.as_view(), name="create_character"),
|
||||
path("characters/<int:pk>/", character_views.CharacterDetailView.as_view(), name="character_detail"),
|
||||
]
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
from django.views.generic import TemplateView
|
||||
from django.views.generic import TemplateView, ListView, DetailView
|
||||
from django.views.generic.edit import CreateView
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
|
||||
from guild.models import Player
|
||||
|
||||
# Create your views here.
|
||||
class HomeView(LoginRequiredMixin, TemplateView):
|
||||
template_name = "guild/home.html"
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
from django.views.generic import TemplateView, ListView, DetailView
|
||||
from django.views.generic.edit import CreateView
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
|
||||
from guild.models import Character
|
||||
|
||||
|
||||
class CreateCharacterView(LoginRequiredMixin, CreateView):
|
||||
model = Character
|
||||
fields = ["name", "description", "player"]
|
||||
|
||||
class CharacterDetailView(LoginRequiredMixin, DetailView):
|
||||
model = Character
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
from django.views.generic import TemplateView, ListView, DetailView
|
||||
from django.views.generic.edit import CreateView
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
|
||||
from guild.models import Player
|
||||
|
||||
|
||||
class CreatePlayerView(LoginRequiredMixin, CreateView):
|
||||
model = Player
|
||||
fields = ["name"]
|
||||
|
||||
class PlayerDetailView(LoginRequiredMixin, DetailView):
|
||||
model = Player
|
|
@ -20,5 +20,5 @@ from django.urls import include, path
|
|||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path("accounts/", include("django.contrib.auth.urls")),
|
||||
path("", include("guild.urls")),
|
||||
path("", include(("guild.urls", "guild"), namespace="guild")),
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue