2017-05-06 1 views
0

Hey Leute Ich schreibe ein System für meine Website und wenn ich in die Admin-Seite gehen und zwingen den Benutzer zu folgen es funktioniert gut, aber meine folgende Taste funktioniert nicht, es aktualisiert nur die Website und Ich frage mich nur, ob mir jemand dabei helfen könnte. Danke im Voraus.folgenden Knopf vor Ort funktioniert nicht

EDITED

das ist mein html

`<button type="button" class="btn btn-primary btn-lg" href="{% url "accounts:follow" username=object.username%}"> 
{% if following %}Unfollow{% else %}Follow{% endif %} 
</button>` 

urls.py

urlpatterns = [ 
    url(r'^profile/(?P<username>[\[email protected]+-]+)', views.UserDetailView.as_view(), name="viewprofile"), 
    url(r'^profile/(?P<username>[\[email protected]+-]+)/follow', views.UserFollowView.as_view(), name="follow"),] 

views.py

class UserFollowView(View): 
    def get(self, request, username, *args, **kwargs): 
     toggle_user = get_object_or_404(User, username__iexact=username) 
     if request.user.is_authenticated(): 
      is_following = UserProfile.objects.toggle_follow(request.user, toggle_user) 

     return redirect("accounts:viewprofile") 

models.py

+0

Wenn die Schaltfläche HTML ist? – JacobIRR

Antwort

1

Try Hinzufügen eines "$" zum Ende Ihrer URLs. Django versucht, die URLs vom ersten bis zum letzten zu vergleichen, und da der erste reguläre Ausdruck mit der URL übereinstimmt, die Sie besuchen möchten, macht es keinen Sinn, weiter zu suchen und sich daran zu halten. Das '$' beendet den regulären Ausdruck.

urls.py

urlpatterns = [ 
    url(r'^profile/(?P<username>[\[email protected]+-]+)$', views.UserDetailView.as_view(), name="viewprofile"), 
    url(r'^profile/(?P<username>[\[email protected]+-]+)/follow$', views.UserFollowView.as_view(), name="follow"),] 
0

Wenn die Seite "nur aktualisiert", klingt es wie die Schaltfläche HTML selbst falsch ist. Ich hatte dieses Problem gestern und nach einer Stunde Graben in meinem JS und Python, ich erkannte, dass eine Taste automatisch ein Formular auf der Seite trägt, wenn es mit dem Typ „Knopf“ wie folgt erklärt:

<button type="button" ....>