python - ImportError at/login 没有名为登录的模块

标签 python django django-views django-urls

我尝试按照一些 django 教程来创建登录,但我不断得到

ImportError at /login No module named login

我的文件结构是:

 -src
     -logins
       -__init__.py
       -admin.py
       -models.py
       -views.py
     -testproject
       -__init__.py
       -settings.py
       -urls.py

设置.py

import os
BASE_DIR = '/Users/chrismeek/Documents/Python/Testenv'

SECRET_KEY = ''

DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'logins',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'testproject.urls'

WSGI_APPLICATION = 'testproject.wsgi.application'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

STATIC_URL = '/static/'

TEMPLATE_DIRS = (
    '/Users/chrismeek/Documents/Python/Testenv/src/static/templates',
)

url.py

from django.conf.urls import patterns, url, include

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^login', 'login.views.login', name='login'),
    url(r'^auth/$', 'login.views.auth_view', name='auth_view'),
    url(r'^logout/$', 'login.views.logout', name='logout'),
    url(r'^loggedin/$', 'login.views.loggedin', name='loggedin'),
    url(r'^invalid/$', 'login.views.invalid', name='invalid'),

    url(r'^admin/', include(admin.site.urls)),
)

View .py

from django.shortcuts import render, render_to_response
from django.http import HttpResponseRedirect
from django.contrib import auth
from django.corecontext_processors import csrf

# Create your views here.
def login(request):
    c = {}
    c.update(csrf(request))
    return render_to_response('login.html', c)

def auth_view(request):
    username = request.POST.get('username', '')
    password = request.POST.get('password', '')
    user = auth.authenticate(username=username, password=password)

    if user is not None:
        auth.login(request,user)
        return HttpResponseRedirect('loggedin')
    else:
        return HttpResponseRedirect('invalid')

def loggin(request):
    return render_to_response('loggedin.html', {'full_name': request.user.username})

def invalid_login(request):
    return render_to_response('invalid_login.html')

def logout(request):
    auth.logout(request)
    return render_to_response('logout.html')

这让我抓狂,希望得到任何帮助。谢谢

最佳答案

您的应用程序称为“登录”,而不是“登录”:

url(r'^login', 'logins.views.login', name='login'),
                     ^

关于python - ImportError at/login 没有名为登录的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25557311/

相关文章:

python - 可汗学院的语言本地化

Django 检查 ManyToMany 字段中的对象

python - Django 的正则表达式 url 模式

error-handling - pk = request我有一些错误。由于出现此错误,我似乎无法将我的储备金链接到另一页

python - 神经网络分类

python - 如何使用另一个保存索引的 numpy 数组来索引 numpy 数组?

python - 标签数量总是特征数量的 1/3

python - 如何在程序运行时中断它?

django - 将生产错误发送到 slack 而不是电子邮件

python - 外部数据库连接上的 Django 操作错误