Страница редактирования профиля - Python
Формулировка задачи:
View
Urls
Template
Проблема в том, что я не могу передать айдишку! Помогите пожалуйста.
Если надо, могу заснять экран для большей детальности.
Само редактирование работает если самому дописывать id юзера. Но вот если переходить по сылке, то id не выводит в адресной строке.
Вот сама сылка
Листинг программы
- from django.shortcuts import render, render_to_response, redirect
- from django.http import HttpResponseRedirect
- from django.contrib.auth.models import User
- def edit(request, id):
- user = User.objects.filter(id=id)
- if request.POST:
- user = User.objects.get(pk=request.user.id)
- user.username=request.POST.get('username')
- user.first_name=request.POST.get('first_name')
- user.last_name=request.POST.get('last_name')
- user.email=request.POST.get('email')
- user.save()
- return HttpResponseRedirect('/')
- template_data = {'user': user}
- return render_to_response('home/others/edit.html', template_data)
Листинг программы
- from django.conf.urls import patterns, include, url
- urlpatterns = patterns('testapp.apptest.views',
- url(r'^edit/(?P<id>[?a-z=A-Z0-9_.-]*)/$', 'edit', name='edit'),
- )
Листинг программы
- {% block content %}
- <div class="profile">
- <form action="" method="post">
- {% for us in user %}
- <input type="text" name="username" value="{{us.username}}">
- <input type="text" name="first_name" value="{{us.first_name}}">
- <input type="text" name="last_name" value="{{us.last_name}}">
- <input type="text" name="email" value="{{us.email}}">
- {% endfor %}
- <input type="submit">
- </form>
- </div>
- {% endblock %}
Листинг программы
- <a href="{% url 'apptest.views.edit' user.id %}">Edit profile</a>
Решение задачи: «Страница редактирования профиля»
textual
Листинг программы
- <a href="{% url 'apptest.views.edit' id=user.id %}">Edit profile</a>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д