【发布时间】:2018-08-22 19:23:31
【问题描述】:
我希望每次创建医院时,同样创建一个相应的用户帐户,允许新创建的帐户登录....
models.py
class Hospital(models.Model):
"""
Model representing individual Hospitals
"""
id = models.UUIDField(primary_key=True, unique=True, db_index=True, default=uuid.uuid4, editable=False)
hospital_name = models.CharField(help_text="full name of hospital", max_length=200)
slug = models.SlugField(max_length=200)
hospital_logo = models.ImageField(upload_to='hospital_logo',)
hospital_address = models.CharField(max_length=500)
hospital_email = models.EmailField(max_length=254)
hospital_website = models.CharField(max_length=200)
hospital_rc_number = models.PositiveSmallIntegerField()
date_added = models.DateField(auto_now=True)
forms.py
class HospitalForm(forms.ModelForm):
"""
Forms for Hospital creation
"""
class Meta:
model = Hospital
fields = ('hospital_name', 'hospital_address', 'hospital_email', 'hospital_website', 'hospital_rc_number','hospital_logo')
widgets = {
'hospital_name': forms.TextInput(attrs={'class': 'form-control'}),
'hospital_address': forms.TextInput(attrs={'class': 'form-control'}),
'hospital_email': forms.TextInput(attrs={'class': 'form-control'}),
'hospital_website': forms.TextInput(attrs={'class': 'form-control'}),
'hospital_rc_number': forms.TextInput(attrs={'class': 'form-control'}),
}
def save(self):
instance = super(HospitalForm, self).save(commit=False)
instance.slug = slugify(instance.hospital_name)
instance.save()
return instance
views.py
class HospitalCreate(CreateView):
model = Hospital
form_class = HospitalForm
template_name = 'hospital/hospital_add.html'
pk_url_kwarg = 'hospital_id'
success_url = reverse_lazy('hospital_list')
user_form = UserForm
【问题讨论】:
标签: django python-2.7 django-models django-forms django-views