千里夜雨 2019-10-15 22:06 采纳率: 0%
浏览 526

从python入门到实践19.2.2运行后登录界面没有出现注册页面,出现下面的错误

"""learning_log URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

from django.contrib import admin
from django.urls import path,include

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

    #url(r'', include('learning_logs.urls', namespace='learning_logs')),
    path('', include('learning_logs.urls', namespace='learning_logs')),
    #创建用户账户
    path('users/',include('users.urls',namespace='users')),

]

base.html

<p>
    <a href = "{% url 'learning_logs:index'%}">Learning Log</a> -
    <a href = "{% url 'learning_logs:topics'%}">Topics</a> -
    {% if user.is_authenticated %}
      Hello,{{user.username}}.
      <a href="{% url 'users:logout' %}">log out</a>
    {% else %}
        <a href="{% url 'users:register' %}">register</a> -
        <a href="{% url 'users:login' %}">log in</a>
    {% endif %}
</p>
{% block content %}{% endblock content %}


users目录下的urls.py

#为应用程序users定义URL模式

from django.urls import path,include,re_path
from django.contrib.auth.views import LoginView
#句点让python从当前的urls.py模块所在的文件夹中导入视图
from . import views
#
#将login改为LoginView,
#将path('login/', login, {'template_name': 'users/login.html'}, name = 'login')
#改为path('login/', LoginView.as_view(template_name= users/login.htm),name='login')

app_name='users'
urlpatterns = [
    #主页
    path('login/', LoginView.as_view(template_name= 'users/login.html'),name='login'),
    #注销
    path('logout/',views.logout_view,name='logout'),
    #注册页面
    path('register/',views.register,name='register'),
]


views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponseRedirect
from django.urls import reverse
from django.contrib.auth import logout,login,authenticate
from django.contrib.auth.forms import UserCreationForm

def logout_view(request):
    '''注销用户'''
    logout(request)
    return HttpResponseRedirect(reverse('learning_logs:index'))

def register(request):
    '''注册新用户'''
    if request.method!='POST':
        #显示空的注册表单
        form =UserCreationForm()
    else:
        #处理填写好的表单
        form=UserCreationForm(data=request.POST)

        if form.is_valid():
            new_user=form.save()
            #让用户自动登录,再重定向到主页
            authenticated_user=authenticate(username=new_user.username,password=request.POST['password1'])
            login(request,authenticated_user)
            return HttpResponseRedirect(reverse('learning_logs:index'))
    context = {'form':form}
    return render(request,'users/register.html',context)


register.html

{% extends "learning_logs/base.html" %}

{% block content %}

  <form method ='post' action= "{% url 'users:register' %}">
    {% csrf_token %}
    {{form.as_p }}
    <button name="submit">register</button>
    <input type='hidden' name='next' value="{% url 'learning_logs:index' %}"/>
  </form>

{% endblock content %}

[24/Oct/2019 11:31:17] "POST /admin/login/?next=/admin/ HTTP/1.1" 200 1982

Exception happened during processing of request from ('127.0.0.1', 51588)
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\socket
server.py", line 647, in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\socket
server.py", line 357, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\socket
server.py", line 717, in init
self.handle()
File "D:\py3.6.4\python_work\lesson_18\learning_log\ll_env\lib\site-packages\d
jango\core\servers\basehttp.py", line 171, in handle
self.handle_one_request()
File "D:\py3.6.4\python_work\lesson_18\learning_log\ll_env\lib\site-packages\d
jango\core\servers\basehttp.py", line 179, in handle_one_request
self.raw_requestline = self.rfile.readline(65537)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\socket
.py", line 589, in readinto
return self._sock.recv_into(b)

ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-28 05:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码