Python 图像不';不要出现在“我的”中;“媒体”;上传Django后的文件夹

Python 图像不';不要出现在“我的”中;“媒体”;上传Django后的文件夹,python,django,image,upload,Python,Django,Image,Upload,我在上传Django的照片时遇到了一些问题 设置.py: MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') MEDIA_URL = '/uploads/' class Dater(AbstractUser): AbstractUser.username = models.CharField(max_length=30) AbstractUser.password = models.CharField(max_length=30) p

我在上传Django的照片时遇到了一些问题

设置.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/uploads/'
class Dater(AbstractUser):
   AbstractUser.username = models.CharField(max_length=30)
   AbstractUser.password = models.CharField(max_length=30)
   picture = models.ImageField(upload_to="users_picture", blank=True, null=True)
   summary = models.TextField()
   ....
class UserForm(forms.ModelForm):
   username = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Enter your username'}))
   password = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control','type': 'password','placeholder': 'Enter your password'}))
   summary = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control col-xs-2'}))
...

class Meta:
    model = models.Dater
    fields = ['username', 'password', 'summary',
              'picture']
<form id="signupForm" method="post" action="" enctype='multipart/form-data'>
  {% csrf_token %}
  {% include 'website/form-template.html' %}
  <button type="submit" class="btn btn-danger">Submit</button>
</form>
class UserFormView(View):
    form_class = UserForm
    template_name = 'website/signup.html'

    # Display the form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    # Process the form
    def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            # Cleaning and normalizing data
            password = form.cleaned_data['password']
            user.set_password(password)
            user.latitude = 24.8047 # api call later
            user.longitude = 120.9714 # api call later
            user.save()
型号.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/uploads/'
class Dater(AbstractUser):
   AbstractUser.username = models.CharField(max_length=30)
   AbstractUser.password = models.CharField(max_length=30)
   picture = models.ImageField(upload_to="users_picture", blank=True, null=True)
   summary = models.TextField()
   ....
class UserForm(forms.ModelForm):
   username = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Enter your username'}))
   password = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control','type': 'password','placeholder': 'Enter your password'}))
   summary = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control col-xs-2'}))
...

class Meta:
    model = models.Dater
    fields = ['username', 'password', 'summary',
              'picture']
<form id="signupForm" method="post" action="" enctype='multipart/form-data'>
  {% csrf_token %}
  {% include 'website/form-template.html' %}
  <button type="submit" class="btn btn-danger">Submit</button>
</form>
class UserFormView(View):
    form_class = UserForm
    template_name = 'website/signup.html'

    # Display the form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    # Process the form
    def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            # Cleaning and normalizing data
            password = form.cleaned_data['password']
            user.set_password(password)
            user.latitude = 24.8047 # api call later
            user.longitude = 120.9714 # api call later
            user.save()
forms.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/uploads/'
class Dater(AbstractUser):
   AbstractUser.username = models.CharField(max_length=30)
   AbstractUser.password = models.CharField(max_length=30)
   picture = models.ImageField(upload_to="users_picture", blank=True, null=True)
   summary = models.TextField()
   ....
class UserForm(forms.ModelForm):
   username = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Enter your username'}))
   password = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control','type': 'password','placeholder': 'Enter your password'}))
   summary = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control col-xs-2'}))
...

class Meta:
    model = models.Dater
    fields = ['username', 'password', 'summary',
              'picture']
<form id="signupForm" method="post" action="" enctype='multipart/form-data'>
  {% csrf_token %}
  {% include 'website/form-template.html' %}
  <button type="submit" class="btn btn-danger">Submit</button>
</form>
class UserFormView(View):
    form_class = UserForm
    template_name = 'website/signup.html'

    # Display the form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    # Process the form
    def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            # Cleaning and normalizing data
            password = form.cleaned_data['password']
            user.set_password(password)
            user.latitude = 24.8047 # api call later
            user.longitude = 120.9714 # api call later
            user.save()
我的html

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/uploads/'
class Dater(AbstractUser):
   AbstractUser.username = models.CharField(max_length=30)
   AbstractUser.password = models.CharField(max_length=30)
   picture = models.ImageField(upload_to="users_picture", blank=True, null=True)
   summary = models.TextField()
   ....
class UserForm(forms.ModelForm):
   username = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control', 'placeholder': 'Enter your username'}))
   password = forms.CharField(widget=forms.TextInput(attrs={'class':'form-control','type': 'password','placeholder': 'Enter your password'}))
   summary = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control col-xs-2'}))
...

class Meta:
    model = models.Dater
    fields = ['username', 'password', 'summary',
              'picture']
<form id="signupForm" method="post" action="" enctype='multipart/form-data'>
  {% csrf_token %}
  {% include 'website/form-template.html' %}
  <button type="submit" class="btn btn-danger">Submit</button>
</form>
class UserFormView(View):
    form_class = UserForm
    template_name = 'website/signup.html'

    # Display the form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    # Process the form
    def post(self, request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            # Cleaning and normalizing data
            password = form.cleaned_data['password']
            user.set_password(password)
            user.latitude = 24.8047 # api call later
            user.longitude = 120.9714 # api call later
            user.save()

我已经创建了一个与文件
manage.py
相同级别的文件夹:“uploads”。在这个文件夹中,我还创建了另一个文件夹:“users\u picture”,我希望我的图片上传到该文件夹,但当我添加用户时,图像根本没有上传。

Your models.py非常奇怪。为什么要在AbstractUser上设置这两个字段?无论如何,要解决这个问题,我们需要查看您的视图。@DanielRoseman我这样做是因为类已经有用户名和密码字段,所以显然我无法覆盖它