I am trying to create a website whose structure is something like this:
A main page with various links of similar kind (like a blog). User can click on any on those and go inside any of them (link will be like site.com/slug). Then again the same thing (this time the link will be like site.com/slug/slug).
individual_question.html
<div id="argument_container">
</div>
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', home_screen_view, name="home"),
path('register/', registration_view, name="register"),
path('logout/', logout_view, name="logout"),
path('login/', login_view, name="login"),
path('account/', account_view, name="account"),
path('<slug:question>', individual_question_view, name="individual_question_view"),
# for testing
path('<slug:argument>', individual_argument_view, name="individual_argument_view"),
models.py
class Faction(models.Model):
faction_id = models.BigAutoField(primary_key=True)
faction_question = models.ForeignKey(Question, on_delete=models.CASCADE)
faction_name = models.CharField(max_length=30)
def __str__(self):
return self.faction_name
class FactionArgument(models.Model):
argument_id = models.BigAutoField(primary_key=True)
argument_faction = models.ForeignKey(Faction, on_delete=models.CASCADE)
argument_question = models.ForeignKey(Question, on_delete=models.CASCADE, null=True)
argument_slug = models.SlugField(max_length=80, null=True)
argument_text = models.TextField()
user_id = models.ForeignKey(Account, on_delete=models.CASCADE)
datetime = models.DateTimeField(auto_now=True)
def get_absolute_url(self):
return reverse('individual_argument_view', args=[self.argument_slug]) # chances of error
def __str__(self):
return self.argument_text
views.py
def individual_question_view(request, question):
context={}
question = get_object_or_404(Question, question_slug=question)
context["question"] = question
factions = Faction.objects.filter(faction_question = Question.objects.filter(question = question.question).first())
context["faction"] = factions
arguments = FactionArgument.objects.filter(argument_question = Question.objects.filter(question = question.question).first())
context["argument"] = arguments
return render(request, "snippets/individual_question.html", context)
# for testing
def individual_argument_view(request, argument):
return render(request, "snippets/individual_chain.html")
I am able to get to the (site.com/slug) but not able to figure out the url dispatching for next step (site.com/slug/slug).
Currently it shows this error:
Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/question_1/blue2 Using the URLconf defined in Version2.urls, Django tried these URL patterns, in this order:
admin/ [name='home'] register/ [name='register'] logout/ [name='logout'] login/ [name='login'] account/ [name='account'] <slug:question> [name='individual_question_view'] <slug:argument> [name='individual_argument_view'] password_change/done/ [name='password_change_done'] password_change/ [name='password_change'] password_reset/done/ [name='password_reset_done'] reset/<uidb64>/<token>/ [name='password_reset_confirm'] password_reset/ [name='password_reset'] reset/done/ [name='password_reset_complete'] The current path, question_1/blue2, didn’t match any of these.
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment