Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 Django 1.11 don';t包含URL.py_Python_Django - Fatal编程技术网

Python Django 1.11 don';t包含URL.py

Python Django 1.11 don';t包含URL.py,python,django,Python,Django,您好,我正在使用我的第一个Django应用程序,我遇到了下一个问题: 包含的URLconf“eventus.url”似乎没有任何 其中的模式。如果在文件中看到有效的模式,则问题 可能是由循环导入引起的 我的文件events/url.py是: from django.conf.urls import url, include from .views import IndexView, MainPanelView, CreateEvent, EventDetail, EventEdit, Event

您好,我正在使用我的第一个Django应用程序,我遇到了下一个问题:

包含的URLconf“eventus.url”似乎没有任何 其中的模式。如果在文件中看到有效的模式,则问题 可能是由循环导入引起的

我的文件events/url.py是:

from django.conf.urls import url, include
from .views import IndexView, MainPanelView, CreateEvent, EventDetail, EventEdit, EventDelete


urlpatterns = [
    #url(r'^$',views.index, name="index"),
    url(r'^$',IndexView.as_view(), name="index"),


    url(r'^panel/$', MainPanelView.as_view(), name="panel"),
    url(r'^panel/evento/nuevo/$',CreateEvent.as_view(), name="nuevo"),
    url(r'^panel/evento/(?P<pk>\d+)/$',EventDetail.as_view(), name="detalle"), 
    url(r'^panel/evento/editar/(?P<pk>\d+)/$',EventEdit.as_view(), name="editar"),
     url(r'^panel/evento/eliminar/(?P<pk>\d+)/$',EventDelete.as_view(), name="eliminar"),   
]
from django.conf.urls import  url, include
from django.contrib import admin
from django.conf import settings
urlpatterns = [
    url(r'^', include('myapps.events.urls', namespace="events_app")),
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:
    urlpatterns = [
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.MEDIA_ROOT}
            ),
        ]#
from django.db import models
from django.template.defaultfilters import slugify
from django.conf import settings
# Create your models here.

class TimeStampModel(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateField(auto_now=True)

    class Meta:
        abstract = True

class Category(models.Model):
    name = models.CharField(max_length=50)
    slug = models.SlugField(editable=False)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug =slugify(self.name)
        super(Category, self).save (*args,**kwargs)

    def __unicode__(self):
        return self.name

class Event(TimeStampModel):
    name = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(editable=False)
    summary = models.TextField(max_length=255)
    content = models.TextField()
    category = models.ForeignKey(Category)
    place = models.CharField(max_length=50)
    start = models.DateTimeField()
    finish = models.ImageField(upload_to= 'events')
    is_free = models.BooleanField(default=True)
    amout = models.DecimalField(max_digits=5, decimal_places=2, default=0.00)
    views = models.PositiveIntegerField(default=0)
    organizer = models.ForeignKey(settings.AUTH_USER_MODEL)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug =slugify(self.name)
        super(Event, self).save (*args,**kwargs)


    def __unicode__(self):
        return self.name

class Assistant (TimeStampModel):
    Assistant = models.ForeignKey(settings.AUTH_USER_MODEL)
    event = models.ManyToManyField(Event)
    attended = models.BooleanField(default=False)
    has_paid = models.BooleanField(default=False)

    def __unicode__(self):
        return "%s %s" % (self.assistant.username , self.event.name)


class Comments(TimeStampModel):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    event = models.ForeignKey(Event)
    content = models.TextField()

    def __unicode__(self):
        return "%s %s" % (self.user.username, self.event.name)
我的URL.py是:

from django.conf.urls import url, include
from .views import IndexView, MainPanelView, CreateEvent, EventDetail, EventEdit, EventDelete


urlpatterns = [
    #url(r'^$',views.index, name="index"),
    url(r'^$',IndexView.as_view(), name="index"),


    url(r'^panel/$', MainPanelView.as_view(), name="panel"),
    url(r'^panel/evento/nuevo/$',CreateEvent.as_view(), name="nuevo"),
    url(r'^panel/evento/(?P<pk>\d+)/$',EventDetail.as_view(), name="detalle"), 
    url(r'^panel/evento/editar/(?P<pk>\d+)/$',EventEdit.as_view(), name="editar"),
     url(r'^panel/evento/eliminar/(?P<pk>\d+)/$',EventDelete.as_view(), name="eliminar"),   
]
from django.conf.urls import  url, include
from django.contrib import admin
from django.conf import settings
urlpatterns = [
    url(r'^', include('myapps.events.urls', namespace="events_app")),
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:
    urlpatterns = [
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
            {'document_root': settings.MEDIA_ROOT}
            ),
        ]#
from django.db import models
from django.template.defaultfilters import slugify
from django.conf import settings
# Create your models here.

class TimeStampModel(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateField(auto_now=True)

    class Meta:
        abstract = True

class Category(models.Model):
    name = models.CharField(max_length=50)
    slug = models.SlugField(editable=False)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug =slugify(self.name)
        super(Category, self).save (*args,**kwargs)

    def __unicode__(self):
        return self.name

class Event(TimeStampModel):
    name = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(editable=False)
    summary = models.TextField(max_length=255)
    content = models.TextField()
    category = models.ForeignKey(Category)
    place = models.CharField(max_length=50)
    start = models.DateTimeField()
    finish = models.ImageField(upload_to= 'events')
    is_free = models.BooleanField(default=True)
    amout = models.DecimalField(max_digits=5, decimal_places=2, default=0.00)
    views = models.PositiveIntegerField(default=0)
    organizer = models.ForeignKey(settings.AUTH_USER_MODEL)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug =slugify(self.name)
        super(Event, self).save (*args,**kwargs)


    def __unicode__(self):
        return self.name

class Assistant (TimeStampModel):
    Assistant = models.ForeignKey(settings.AUTH_USER_MODEL)
    event = models.ManyToManyField(Event)
    attended = models.BooleanField(default=False)
    has_paid = models.BooleanField(default=False)

    def __unicode__(self):
        return "%s %s" % (self.assistant.username , self.event.name)


class Comments(TimeStampModel):
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    event = models.ForeignKey(Event)
    content = models.TextField()

    def __unicode__(self):
        return "%s %s" % (self.user.username, self.event.name)
下一个错误是:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/base.py", line 327, in execute
    self.check()
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/management/base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/checks/urls.py", line 16, in check_url_config
    return check_resolver(resolver)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/core/checks/urls.py", line 26, in check_resolver
    return check_method()
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/urls/resolvers.py", line 254, in check
    for pattern in self.url_patterns:
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/urls/resolvers.py", line 405, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/urls/resolvers.py", line 398, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/dmuino/.virtualenvs/Pruebas/CursoProDjango/eventus/eventus/urls.py", line 27, in <module>
    {'document_root': settings.MEDIA_ROOT}
  File "/Users/dmuino/.virtualenvs/Pruebas/lib/python3.6/site-packages/django/conf/urls/__init__.py", line 85, in url
    raise TypeError('view must be a callable or a list/tuple in the case of include().')
TypeError: view must be a callable or a list/tuple in the case of include().

我不知道问题出在哪里,因为在它正常工作之前,但现在我不知道问题出在哪里,我只更改了events/url.py,从基于函数的视图到基于类的视图,但是在文件中,在文件中的新视图之前有旧视图的注释。

回溯显示
事件/views.py的第97行出现错误:

success_url = reverse_lazy(reverse('events_app:panel'))
设置视图的
success\u url
时,不能调用
reverse
。它会导致Django在加载url配置之前尝试反转url,从而导致“似乎没有任何模式”错误消息

解决方法是使用
reverse\u lazy
。你有
reverse\u lazy(reverse(…)
,这没有意义。将其更改为仅使用
反转\u lazy

success_url = reverse_lazy('events_app:panel')
您的第二个错误“视图必须是可调用的”,是因为为媒体文件提供服务的代码使用了字符串
'django.views.static.service'
。这已过时,无法与Django 1.10+一起使用。更新至:

在base.py中添加

INSTALLED_APPS += ['myapps.events',]

我需要使用reverse,因为它是一个表单,我需要在帖子中发送数据,这将有其他问题,而不是这个问题。相信我,使用
reverse\u lazy(reverse(…)
)是没有意义的。回溯告诉您该行发生了错误。Alasdair感谢您的帮助,但我也有同样的问题。您没有名为“myapps.url”的模块。
,因为您将代码更改为
url(r'',include('myapps.url')),
,正如@Julipels所建议的那样。这不起作用,因为你没有文件
myapps/url.py
,所以你应该把它改回以前的样子。你的问题和回溯表明你的代码中仍然有
反向懒惰(反向(…)
。将它改为
反向懒惰(…)
。您还有
success\u url=Ureverse\u lazy('events\u app:panel')
这是一个bug。我已经安装了它
INSTALLED_APPS += ['myapps.events',]