我在网上搜索了一下,但似乎没有人遇到与我相同的问题,我的问题似乎“太简单了”,但我找不到错误。
我在Windows上使用最新版本的Django。我用一个名为“ myapp”的应用程序启动了一个名为“ tesutooo”的项目。 在项目的根目录下,我有一个名为“ templates /”的目录,用作其他目录的基础。 我的模板位于“ myapp / templates / myapp /”中
所以我的问题在“ tesutooo / templates / base.html”和“ tesutoo / myapp / templates / myapp / accueil.html”之间
这是我的代码:
tesutoo / tesutoo / urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.
path('myapp/', include('myapp.urls')),
]
tesutoo / myapp / urls.py
from django.urls import path
from . import views
urlpatterns = [
path('accueil', views.accueil),
path('date', views.date),
]
tesutoo / myapp / views.py
from django.http import HttpResponse
from django.shortcuts import render
from datetime import datetime
def accueil(request):
return render(request, 'myapp/accueil.html')
def date(request):
return render(request, 'myapp/date.html', {'date': datetime.now()})
tesutoo / templates / base.html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="base.css" />
<title>{% block title %}Mon projet Django ou je fais un peu c'que j'veux mdr{% endblock %}</title>
</head>
<body>
<header>Mon projet qui déchire sa cera</header>
<nav id="nav_gen">
{% block nav %}
<ul>
<a href="{% url 'myapp.views.accueil' %}">Accueil</a>
</ul>
<ul>
<a href="{% url 'myapp.views.date' %}">Date</a>
</ul>
<!-- <ul>
<a href="{% url "Bibliothèque" %}">Bibliothèque</a>
</ul> -->
{% endblock %}
</nav>
<section id="content">
{% block content %}{% endblock %}
</section>
<footer>© Projet de guigui</footer>
</body>
</html>
tesutooo / myapp / templates / myapp / accueil.html
{% extends "base.html" %}
{% block title %} My app mon gars ! Accueil{% endblock %}
{% block content %}
<div>
<p>C'est l'accueil ici ! Regarde à gauche y a des dauphins ! Euh... des liens !</p>
</div>
{% endblock %}
答案 0 :(得分:0)
将名称空间添加到包含
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls', namespace='myapp')),
]
在特定视图中添加名称:
urlpatterns = [
path('accueil', views.accueil, name='accueil'),
path('date', views.date, name='date'),
]
然后使用{%url <namespace>:<name> %}
来使用它,例如,
{% url 'myapp:accueil' %}
答案 1 :(得分:0)
必须在模板动态网址中使用
{% url 'myapp:accueil' %}
因为这是伊兰先生在其他答案中描述的会议。
,您必须在应用程序URL tesutoo / myapp / urls.py 中使用app_name = 'your_app_name'
,其代码将类似于
from django.urls import path
from . import views
app_name='myapp'
urlpatterns = [
path('accueil', views.accueil),
path('date', views.date),
]