Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法导入名称(模型)_Python_Django_Url_Importerror - Fatal编程技术网

Python 无法导入名称(模型)

Python 无法导入名称(模型),python,django,url,importerror,Python,Django,Url,Importerror,我收到上面的错误消息,更具体地说是“importErrorat/ops_page/create”“无法导入名称ops_page”。基本上,我有一个名为“ops_page”的应用程序,我似乎无法获取新创建的url,“/ops_page/create”,它应该包含一个与“ops_page”中的模型对应的表单。我查看了类似的线程,并尝试删除ops_page应用程序中的.pyc文件以及根目录,以及删除sqlite db和重新同步/迁移。你知道这里有什么问题吗 我的基本URL.py: urlpattern

我收到上面的错误消息,更具体地说是“importErrorat/ops_page/create”“无法导入名称ops_page”。基本上,我有一个名为“ops_page”的应用程序,我似乎无法获取新创建的url,“/ops_page/create”,它应该包含一个与“ops_page”中的模型对应的表单。我查看了类似的线程,并尝试删除ops_page应用程序中的.pyc文件以及根目录,以及删除sqlite db和重新同步/迁移。你知道这里有什么问题吗

我的基本URL.py:

urlpatterns = patterns('',
    .
    .
    url(r'^ops_page/', include('ops_page.urls')),
    .
    .
)
urlpatterns = patterns('',
    url(r'^create/$', 'ops_page.views.create'),
)
我的操作页面URL.py:

urlpatterns = patterns('',
    .
    .
    url(r'^ops_page/', include('ops_page.urls')),
    .
    .
)
urlpatterns = patterns('',
    url(r'^create/$', 'ops_page.views.create'),
)
My ops_page models.py:

from django.db import models
from django.conf import settings
import os.path



class OpsPageInfo(models.Model):
        campaign_name = models.CharField(max_length=100, unique=True, blank=True)
        campaign_pic = models.ImageField(upload_to="images/opspage_pics")
        description_header = models.CharField(max_length=100, blank=True)
        campaign_description = models.CharField(max_length=600, blank=True)
        goal = models.CharField(max_length=100, blank=True)
        perk_header1 = models.CharField(max_length=100, blank=True)
        perk_description1 = models.CharField(max_length=600, blank=True)


        def __unicode__(self):
                return self.campaign_name
My ops_page views.py:

from django.shortcuts import render_to_response
from ops_page.models import OpsPageInfo
from django.http import HttpResponse
from forms import OpsPageForm
from django.http import HttpResponseRedirect


def create(request):
    if request.POST:
        form = OpsPageForm(request.POST)
        if form.is_valid():
            form.save()


            return HttpResponseRedirect('/artist_donation/')

    else:
        form = OpsPageForm()

    args = {}
    args.update(csrf(request))

    args['form'] = form

    return render_to_response('create_opspage.html', args)
My ops_page forms.py:

from django import forms
from models import ops_page


class OpsPageForm(forms.ModelForm):

    class Meta:
        model = ops_page
create_opspage.html表单:

            {% block content %}
            <form action="/ops_page/create/" method="post">{% csrf_token %}
                <ul>
                {{ form.as_ul }}
                </ul>

                <input type="submit" name="submit" value="Create Ops Page">
            </form>
            {% endblock %}
{%block content%}
{%csrf_令牌%}
    {{form.as_ul}}
{%endblock%}
最后,我的错误回溯:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/ops_page/create

Django Version: 1.7.5
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'band',
 'friend',
 'registration',
 'music',
 'audiofield',
 'user_profile',
 'social.apps.django_app.default',
 'directory',
 'youtube_urls',
 'ops_page')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'audiofield.middleware.threadlocals.ThreadLocals')


Traceback:
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/handlers/base.py" in get_response
  87.                 response = middleware_method(request)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/middleware/common.py" in process_request
  73.                     urlresolvers.is_valid_path("%s/" % request.path_info, urlconf)):
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in is_valid_path
  619.         resolve(path, urlconf)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in resolve
  494.     return get_resolver(urlconf).resolve(path)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in resolve
  345.                     sub_match = pattern.resolve(new_path)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in resolve
  345.                     sub_match = pattern.resolve(new_path)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in resolve
  224.             return ResolverMatch(self.callback, args, kwargs, self.name)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in callback
  231.         self._callback = get_callable(self._callback_str)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/utils/lru_cache.py" in wrapper
  101.                     result = user_function(*args, **kwds)
File "/Library/Python/2.7/site-packages/Django-1.7.5-py2.7.egg/django/core/urlresolvers.py" in get_callable
  97.             mod = import_module(mod_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py" in import_module
  37.     __import__(name)
File "/Users/sethjones/Desktop/atmos_v6/ops_page/views.py" in <module>
  4. from forms import OpsPageForm
File "/Users/sethjones/Desktop/atmos_v6/ops_page/forms.py" in <module>
  2. from models import ops_page

Exception Type: ImportError at /ops_page/create
Exception Value: cannot import name ops_page
环境:
请求方法:获取
请求URL:http://127.0.0.1:8000/ops_page/create
Django版本:1.7.5
Python版本:2.7.5
已安装的应用程序:
(“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“django.contrib.humanize”,
“乐队”,
“朋友”,
“注册”,
"音乐",,
“声场”,
“用户配置文件”,
'social.apps.django_app.default',
'目录',
“youtube_URL”,
"行动网页")
已安装的中间件:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
'audiofield.middleware.threadlocals.threadlocals')
回溯:
get_响应中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/handlers/base.py”
87响应=中间件\方法(请求)
进程请求中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/middleware/common.py”
73UrlResolver.is_有效路径(“%s/%request.path_info,urlconf)):
路径中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”有效吗
619解析(路径,urlconf)
解析中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
494返回get_解析器(urlconf).resolve(path)
解析中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
345子匹配=模式解析(新路径)
解析中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
345子匹配=模式解析(新路径)
解析中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
224返回ResolverMatch(self.callback、args、kwargs、self.name)
回调中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
231self.\u callback=get\u callable(self.\u callback\u str)
包装器中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/utils/lru_cache.py”
101结果=用户函数(*args,**kwds)
get_callable中的文件“/Library/Python/2.7/site packages/Django-1.7.5-py2.7.egg/Django/core/urlresolvers.py”
97mod=导入模块(mod\u名称)
导入模块中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/\uuuuuuuu init\uuuuuuu.py”
37.     __导入(名称)
文件“/Users/sethjones/Desktop/atmos_v6/ops_page/views.py”
4.从表单导入OpsPageForm
文件“/Users/sethjones/Desktop/atmos_v6/ops_page/forms.py”
2.从模型导入操作页面
异常类型:在/ops_页/create导入错误
异常值:无法导入名称操作页面

我对django比较陌生,所以这可能是我的语法错误,或者我没有正确地映射东西。任何帮助都将不胜感激。多谢各位

您需要在导入中为表单和模型添加前缀。(句号)或应用程序的名称(不建议这样做,因为在您不需要的时候,您会将应用程序的名称硬编码到您的项目中)

因此,改变:

from forms import OpsPageForm

和变化:

from models import OpsPageInfo
致:


您需要在导入中为表单和模型添加前缀。(句号)或应用程序的名称(不建议这样做,因为在您不需要的时候,您会将应用程序的名称硬编码到您的项目中)

因此,改变:

from forms import OpsPageForm

和变化:

from models import OpsPageInfo
致:


问题在于您的
表单.py

from models import ops_page
应替换为

from ops_page.models import OpsPageInfo
OpsPageForm
Meta
类中,将
model
设置为
OpsPageInfo

您在
视图.py中有另一个导入问题,请替换

from forms import OpsPageForm


问题在于您的
表单.py

from models import ops_page
应替换为

from ops_page.models import OpsPageInfo
OpsPageForm
Meta
类中,将
model
设置为
OpsPageInfo

您在
视图.py中有另一个导入问题,请替换

from forms import OpsPageForm

重要的是:

File "/Users/sethjones/Desktop/atmos_v6/ops_page/forms.py" in <module>
  2. from models import ops_page
文件“/Users/sethjones/Desktop/atmos\u v6/ops\u page/forms.py”中的 2.从模型导入操作页面
它告诉你,进口是不对的。现在,如果您查看
forms.py
文件,您将看到models import ops_页面的
行,这确实是错误的。它应该是来自models import OpsPageInfo的

此外,您需要将表单模型属性更改为
model=OpsPageInfo
,而不是
model=ops\u page

重要的行:

File "/Users/sethjones/Desktop/atmos_v6/ops_page/forms.py" in <module>
  2. from models import ops_page
File”/Users/sethjones/Desktop/atmos\u v6/ops\u page/for