Найти - Пользователи
Полная версия: Помощь новичку.
Начало » Базы данных » Помощь новичку.
1
luuucky
Доброго времени суток.
Есть такая вот модель.

class companys(models.Model):
name = models.CharField(max_length=30)
profile = models.CharField(max_length=150)
website = models.URLField()
email = models.EmailField(blank=True, verbose_name='e-mail')
tellphone = models.CharField(max_length=30)
face = models.CharField(max_length=30)
languages = models.CharField(max_length=50)

Может ли кто-нибудь написать пример views.py и urls.py, чтобы введенные на странице html соответствующие модели данные добавлялись в админку?
Fibio
во-первых вам в раздел Django, во-вторых уточните вопрос, не понятно что конкретно нужно сделать? подключить админку и зарегить модель?
luuucky
Надо через страницу html добавлять данные в админку. Как пример, добавление компаний с определенными параметрами.
Fibio
ну если по минимуму:
для того чтобы админка работала, если у вас базовые настройки:
- убираем комент с ‘django.contrib.admin’ в settings.INSTALLED_APPS
- убираем комент с url(r'^admin/', include(admin.site.urls)) в urls.py
а вобще вот: https://docs.djangoproject.com/en/dev/ref/contrib/admin/

данные добавляются не в админку а в базу данных, и затем могут выть использованы где угодно, в админке
в т.ч., для добавления данных через html вам нужна форма: https://docs.djangoproject.com/en/1.4/topics/forms/,
или как минимум ModelForm: https://docs.djangoproject.com/en/1.4/topics/forms/modelforms/#modelform
class CompanyForm(ModelForm):
...     class Meta:
...         model = companys
вьюха должна выглядеть примерно так:
from django.views.generic.simple import direct_to_template
from .forms import CompanyForm
def add_company(request):
    form = PersonForm(request.POST or None)
    if request.method == 'POST' and form.is_valid():
        form.save()
    return direct_to_template(request, 'add_company.html', {'form': form})

затем нужно в urls.py прописать по каком адресу мы быдем эту форму отдавать:
url(r'^add_company$', 'views.add_company', name='add_company'),]

и самый банальный шаблон:
base.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
   {% block head %}{% endblock %}
</head>
<body>
<div>
    {% block content %}{% endblock %}
</div>
</body>
</html>

'add_company.html':
{% extends "base.html" %}
{% block content %}
        <form method="POST" action="{% url add_company %}">
        {% csrf_token %}
        {{ form.as_p  }}
<input type="submit" value="Save">
{% endblock %}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB