Apart from the answers already given, I see in your views, your form
variable didn’t include request.FILES that allows for files to be saved via
views. It should be form = PostForm(request.POST, request.FILES).

On Sat, Aug 29, 2020 at 12:48 allaberdi...@gmail.com <
allaberdi16yazha...@gmail.com> wrote:

> I can upload images from django admin panel but cannot to do same thing
> with django form ,  it saves any text but did not save images only,  anyone
> help me  please
> github <https://github.com/alyyazkhanov/my-firs-blog.git>
> this is my code:
>
> models.py:
> class Posts(models.Model):
>
> Ahal = 'Ahal'
> Balkan = 'Balkan'
> Dasoguz = 'Dasoguz'
> Lebap = 'Lebap'
> Mary = 'Mary'
>
>
> CHOOSE_REGION = {
> (Ahal,'Ahal'),
> (Balkan,'Balkan'),
> (Dasoguz,'Dasoguz'),
> (Lebap,'Lebap'),
> (Mary,'Mary')
> }
>
>
> name = models.CharField(max_length=30, blank=False, verbose_name='Ady')
> image = models.ImageField(blank=True, null=True, verbose_name='surat')
> text = models.TextField(verbose_name='gosmaça maglumat')
> price = models.FloatField(verbose_name='bahasy')
> region = models.CharField(max_length=30, choices=CHOOSE_REGION,
> blank=False, verbose_name='welaýat')
> district = models.CharField(max_length=30, blank=False,
> verbose_name='etrab')
> user = models.ForeignKey(User, on_delete=models.CASCADE,
> verbose_name='eýesi')
> phone = models.CharField(max_length=50, blank=False, verbose_name='telefon
> belgisi')
> published = models.DateTimeField(auto_now=True, verbose_name='satuwa çykan
> guni')
>
>
>
> forms.py:
> class PostForm(forms.ModelForm):
> class Meta:
> model = Posts
> fields = ['name','image','text','price','region','district','user','phone']
>
>
> views.py:
> def add_post(request):
> form = PostForm(request.POST or None)
> if form.is_valid():
> form.save()
> template = 'add_post.html'
> context = {'form':form}
> return render(request,template,context)
>
> settings.py:
>
> STATIC_URL = '/static/'
> STATICFILES_DIR = [Path(BASE_DIR,'static')]
>
> MEDIA_URL = '/media/'
> MEDIA_ROOT = Path(BASE_DIR,'media')
>
>
> urls.py:
>
> from django.conf.urls.static import static
> from django.conf import settings
>
> urlpatterns = [
>     path('admin/', admin.site.urls),
>     path('', include('posts.urls')),
> ]
>
> urlpatterns += static(settings.MEDIA_URL,
> document_root=settings.MEDIA_ROOT)
>
>
>
> html form tag:
> {% extends 'index.html' %}
>
> {% load static %}
>
> {% block content %}
>
> <form method="post" enctype="multipart/form-data">
> {% csrf_token %}
> {{form.media}}
> {{form.as_p}}
> <input type="submit" value="Save" name="">
> </form>
>
> {% endblock %}
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/a403ac50-9dfb-4a48-8007-9a52579886d4n%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/a403ac50-9dfb-4a48-8007-9a52579886d4n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
-- 
KeLLs

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CADYqDX1-4P6g9G4Ss42J233aiDX8XyuFKmkzB%2BXq-K3xQ4Bnbg%40mail.gmail.com.

Reply via email to