2017-10-21 48 views
3

Donc je sais qu'il y a d'autres personnes qui ont posé la même question, et je les ai parcourues. Cependant, les solutions fournies me donnent une erreur étrange et j'apprécierais toute aide pour la comprendre.Django Lier une page html à une vue

Alors, voici mon fichier home.html:

<head> 
    <title>Home</title> 
</head> 
<body> 
    <h1>Home Page</h1> 
    <!-- <a href="/home/signup">Sign Up</a> --> 
    <a href="{% url 'signup' %}">Sign Up</a> 
</body> 

Et voici mon views.py:

from django.shortcuts import render 

# Create your views here. 
def home(request): 
    return render(request, "home.html") 

def signup(request): 
    return render(request, "signup.html") 

Et voici mon urls.py:

from django.conf.urls import url 
from .views import home, signup 

urlpatterns = [ 
    url(r'^signup/', signup, name="signup"), 
    url(r'^', home, name="home"), 
] 

Nous vous remercions de toute l'aide :)

Edit: Le message d'erreur est

Reverse for 'signup' not found. 'signup' is not a valid view function or pattern name. 

Aussi je réellement changé la façon dont je l'ai fait urls.py. Maintenant, je n'ai un urls.py dans mon dossier principal monsite:

from django.conf.urls import url, include 
from django.contrib import admin 

from home import views 
from accounts import views as accountsViews 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 

    url(r'^home/', views.home), 
    url(r'^signup', accountsViews.signup), 
] 
+0

Vous dites que vous obtenez une erreur étrange - quelle erreur est-ce? – solarissmoke

+0

postez vos autres URLs –

+0

Désolé @solarissmoke @ "Mauricio Cortazar" J'ai oublié de mentionner ceux-ci. Je viens d'ajouter une nouvelle édition. – ohjuny

Répondre

1

Votre deuxième url « urls.py » n'a pas de nom.

Les balises url ne seraient pas en mesure de les trouver par nom - « {% url « inscription » %} »

+0

Espérons que cela aide –