Django我的第一个应用程序,在国防部卡住了

2024-04-20 10:56:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django的新手,正在尝试创建我的第一个应用程序。 这是一个名为logo的应用程序,应该存储可以在基本.html. 你知道吗

这是我现在的工作型号.py地址:

from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class Logo(models.Model):
    name = models.CharField(max_length=20, default = "LogoName")
    user = models.ForeignKey(User)
    is_active = models.BooleanField(("is active"), default = False)
    description = models.CharField(max_length=1000)
    date_created = models.DateField(verbose_name="Created on date", auto_now_a$
    image_field = models.FileField("Image", upload_to='images/')

在管理中是这样的: enter image description here

目前的问题是:

1)如何设置徽标对象名称?你知道吗

2)如何只设置当前用户,而不从下拉菜单中选择?你知道吗

3)最大的问题是,当我在保存logo对象后按照图像链接操作时,会出现404错误。 url如下所示: http://127.0.0.1:8000/admin/logo/logo/4/images/80s_BG_1.jpg/-我确实在logo app文件夹中创建了一个“images”文件夹。但在本例中,链接似乎添加了主键“4”。为什么?如何获得上传的图片?你知道吗

提前谢谢!你知道吗


Tags: djangonamefromimport应用程序defaultismodels
3条回答

1.你可以写class Meta: verbose_name = "LOGO"
在模型上。你知道吗

2.必须添加用户模型数据。你知道吗

3.也许您应该在设置中修改媒体url

1-为模型定义\uuuu unicode\uuu函数

def __unicode__(self):
    return self.name

2-重写模型的save方法以设置活动用户或使用django信号

3-配置您的媒体\ URL和媒体\根目录,然后将其添加到主目录的末尾网址.py为了发展

if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT}))

(1)在模型中添加以下内容

def __unicode__(self):
    return u'%s' % (self.name)

关于2)你必须更新你的管理员.py把这样的东西放进去:

class LogoAdmin(admin.ModelAdmin):

    def save_model(self, request, item, form, change):
        if not item.id:
            item.owner = request.user

        super(LogoAdmin, self).save_model(request, item, form, change)

[...]

admin.site.register(Logo, LogoAdmin)

在模型集中:

user = models.ForeignKey(User,editable=False)

我还没有测试过,但我认为这是一条路要走。你知道吗

关于3)正如其他人所写,我想你已经更新了你的设置。但我在想:照片真的上传到文件夹了吗?你知道吗

相关问题 更多 >