【发布时间】:2019-07-25 15:33:04
【问题描述】:
我已经为用户创建了一个表单来发布他们的东西,所有其他的东西都可以正常工作,只有图像不能显示在我的主页上
我一次又一次地试图忽略代码似乎没问题,我的猜测是图像文件夹的结构。我不确定如何为图像构建文件夹。请帮忙!!
views.py
@login_required
def PostNew(request):
if request.method == "POST":
form = PostForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.save()
return redirect('loststuffapp:IndexView')
else:
form = PostForm()
return render(request, 'loststuffapp/form.html', {'form': form})
models.py
class Documents(models.Model):
docs_name = models.CharField(max_length=200,verbose_name="Names in Documents")
item_type = models.CharField(default="", max_length=100,verbose_name="Item type" )
police_station = models.CharField(max_length=255, verbose_name="Police station")
phone_no = models.CharField(verbose_name="Phone number", max_length=10, blank=False,
validators=[int_list_validator(sep=''),MinLengthValidator(10),],
default='0766000000')
date = models.DateTimeField(default=timezone.now,verbose_name="Date")
Description = models.TextField(blank=True, null=True,verbose_name="Description")
pay_no = models.IntegerField(default=0,verbose_name="payment number")
publish = models.BooleanField(default=False)
image = models.ImageField(default="add Item image",
upload_to="media",blank=False, verbose_name="Images")
"""docstring for Documents"""
def __str__(self):
return self.docs_name
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = Documents
fields = ['docs_name', 'item_type', 'police_station','phone_no', 'Description', 'image']
labels = {'docs_name': 'Name in Documents','item_type':'Item type','police_station':'Police station',
'phone_no':'Phone number','Description':'Description','image':'Images'
}
setting.py
STATIC_URL = '/static/'
MEDIA_URL ='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'loststuff/media')
home.html
{% for Doc in documents %}
<div class="content-wrapper">
<div class="card">
<div class="card-image">
<p><label style="font-size:15px; font-weight: bold;color: black;">Names in documents: </label>{{Doc.docs_name}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Item Type: </label>{{Doc.item_type}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Police station: </label>{{Doc.police_station}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Phone number: </label>{{Doc.phone_no}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Description: </label>{{Doc.Description}}</p>
<p><label style="font-size:15px; font-weight: bold;color: black;">Images: </label><img src = "/media/{{Doc.image.url}}" style="width: 450px; height: 300px;"/></p>
<p>{{Doc.date}}</p>
</div>
{% endfor %}
urls.py
urlpatterns = [
path('', views.IndexView, name="IndexView"),
path('IndexView', views.IndexView, name="IndexView"),
path('PostNew/', views.PostNew, name="PostNew"),
path('register/', views.register, name="register"),
path('logout/', views.logout_request, name="logout"),
path('login/', views.login_request, name="login"),
path('ContactForm/', views.ContactForm, name="ContactForm"),
path('About/', views.About, name="About"),
path('Help/', views.Help, name="Help"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
文件结构
【问题讨论】:
标签: django python-3.x django-models