Python 正在重定向到所需页面,但django中的url未更改

Python 正在重定向到所需页面,但django中的url未更改,python,django,django-models,django-templates,django-views,Python,Django,Django Models,Django Templates,Django Views,我创建了一个小django项目。在这种情况下,当我尝试重定向到一个特定的页面时,url没有改变,但所需的页面被正确加载。我正在使用render()重定向到特定页面 views.py文件: def create_album(request): if not request.user.is_authenticated(): return render(request, 'photo/login.html') else: form = Album

我创建了一个小django项目。在这种情况下,当我尝试重定向到一个特定的页面时,url没有改变,但所需的页面被正确加载。我正在使用render()重定向到特定页面

views.py文件:

    def create_album(request):
    if not request.user.is_authenticated():
        return render(request, 'photo/login.html')
    else:
        form = AlbumForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            album = form.save(commit=False)
            album.user = request.user
            album.album_logo = request.FILES['album_logo']
            album.save()
            return render(request, 'photo/detail.html', {'album': album})
        context = {
            "form": form,
        }
        return render(request, 'photo/create_album.html', context)

def register(request):
    form = UserForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        user.set_password(password)
        user.save()
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                albums = Album.objects.filter(user=request.user)
                return render(request, 'photo/index.html', {'albums': albums})
    context = {
        "form": form,
    }
    return render(request, 'photo/register.html', context)
    def detail(request, album_id):
        if not request.user.is_authenticated():
            return render(request, 'photo/login.html')
        else:
            user = request.user
            album = get_object_or_404(Album, pk=album_id)
            return render(request, 'photo/detail.html', {'album': album, 'user': user})
    from django.conf.urls import url
from . import views

app_name = 'photo'

urlpatterns = [
    url(r'^login_user/$', views.login_user, name='login_user'),
    url(r'^register/$', views.register, name='register'),
    url(r'^logout_user/$', views.logout_user, name='logout_user'),
    url(r'^(?P<album_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^create_album/$', views.create_album, name='create_album'),
    url(r'^(?P<album_id>[0-9]+)/create_picture/$', views.create_picture, name='create_picture'),
    url(r'^(?P<album_id>[0-9]+)/delete_album/$', views.delete_album, name='delete_album'),
    url(r'^(?P<song_id>[0-9]+)/favorite/$', views.favorite, name='favorite'),
    url(r'^(?P<album_id>[0-9]+)/favorite_album/$', views.favorite_album, name='favorite_album'),
    url(r'^(?P<album_id>[0-9]+)/delete_pic/(?P<song_id>[0-9]+)/$', views.delete_pic, name='delete_pic'),
    url(r'^$', views.index, name='index'),
    ]
URL.py文件:

    def create_album(request):
    if not request.user.is_authenticated():
        return render(request, 'photo/login.html')
    else:
        form = AlbumForm(request.POST or None, request.FILES or None)
        if form.is_valid():
            album = form.save(commit=False)
            album.user = request.user
            album.album_logo = request.FILES['album_logo']
            album.save()
            return render(request, 'photo/detail.html', {'album': album})
        context = {
            "form": form,
        }
        return render(request, 'photo/create_album.html', context)

def register(request):
    form = UserForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        user.set_password(password)
        user.save()
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                albums = Album.objects.filter(user=request.user)
                return render(request, 'photo/index.html', {'albums': albums})
    context = {
        "form": form,
    }
    return render(request, 'photo/register.html', context)
    def detail(request, album_id):
        if not request.user.is_authenticated():
            return render(request, 'photo/login.html')
        else:
            user = request.user
            album = get_object_or_404(Album, pk=album_id)
            return render(request, 'photo/detail.html', {'album': album, 'user': user})
    from django.conf.urls import url
from . import views

app_name = 'photo'

urlpatterns = [
    url(r'^login_user/$', views.login_user, name='login_user'),
    url(r'^register/$', views.register, name='register'),
    url(r'^logout_user/$', views.logout_user, name='logout_user'),
    url(r'^(?P<album_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^create_album/$', views.create_album, name='create_album'),
    url(r'^(?P<album_id>[0-9]+)/create_picture/$', views.create_picture, name='create_picture'),
    url(r'^(?P<album_id>[0-9]+)/delete_album/$', views.delete_album, name='delete_album'),
    url(r'^(?P<song_id>[0-9]+)/favorite/$', views.favorite, name='favorite'),
    url(r'^(?P<album_id>[0-9]+)/favorite_album/$', views.favorite_album, name='favorite_album'),
    url(r'^(?P<album_id>[0-9]+)/delete_pic/(?P<song_id>[0-9]+)/$', views.delete_pic, name='delete_pic'),
    url(r'^$', views.index, name='index'),
    ]
从django.conf.url导入url
从…起导入视图
应用程序名称='照片'
URL模式=[
url(r“^login\u user/$”,views.login\u user,name='login\u user'),
url(r“^register/$”,views.register,name='register'),
url(r“^logout\u user/$”,views.logout\u user,name='logout\u user'),
url(r'^(?P[0-9]+)/$',views.detail,name='detail'),
url(r“^create\u album/$”,views.create\u album,name='create\u album'),
url(r'^(?P[0-9]+)/create_picture/$',views.create_picture,name='create_picture'),
url(r'^(?P[0-9]+)/delete_album/$”,views.delete_album,name='delete_album'),
url(r'^(?P[0-9]+)/favorite/$',views.favorite,name='favorite'),
url(r'^(?P[0-9]+)/favorite_album/$”,views.favorite_album,name='favorite_album'),
url(r'^(?P[0-9]+)/delete_pic/(?P[0-9]+)/$),views.delete_pic,name='delete_pic'),
url(r'^$',views.index,name='index'),
]
问题是,当我尝试创建相册时,得到的url为:127.0.0.1:8000/create\u album/ 创建相册后,页面必须重定向到detail.html页面。其url应该是:127.0.0.1:8000/10/(10是相册id)


但是url没有更改。请帮帮我。

您误解了
渲染
<代码>渲染,作为其名称,只渲染html页面。即使呈现detail.html页面,这里的请求上下文仍然是create_album请求

这里需要的是
重定向
():


您误解了渲染
<代码>渲染
,作为其名称,只渲染html页面。即使呈现detail.html页面,这里的请求上下文仍然是create_album请求

这里需要的是
重定向
():


如何在“创建相册”视图中替换render()?而且我也无法用您的(第行上方)替换呈现语句。你能修改我在问题中提供的代码吗?很抱歉打扰你,请帮忙!非常感谢你!它工作得很好!!再次感谢你!很抱歉再次打扰你。我在另一个视图中遇到另一个错误。请也看到。如何在“创建相册”视图中替换render()?而且我也无法用您的(第行上方)替换呈现语句。你能修改我在问题中提供的代码吗?很抱歉打扰你,请帮忙!非常感谢你!它工作得很好!!再次感谢你!很抱歉再次打扰你。我在另一个视图中遇到另一个错误。请也查看。