Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 7, 2013 14:58:34

luuucky
Зарегистрирован: 2013-02-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь новичку.

Доброго времени суток.
Есть такая вот модель.

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 соответствующие модели данные добавлялись в админку?

Отредактировано luuucky (Фев. 7, 2013 14:59:01)

Офлайн

#2 Фев. 8, 2013 03:31:13

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

Помощь новичку.

во-первых вам в раздел Django, во-вторых уточните вопрос, не понятно что конкретно нужно сделать? подключить админку и зарегить модель?



Офлайн

#3 Фев. 8, 2013 11:26:32

luuucky
Зарегистрирован: 2013-02-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь новичку.

Надо через страницу html добавлять данные в админку. Как пример, добавление компаний с определенными параметрами.

Офлайн

#4 Фев. 8, 2013 12:07:48

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

Помощь новичку.

ну если по минимуму:
для того чтобы админка работала, если у вас базовые настройки:
- убираем комент с ‘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 %}



Отредактировано Fibio (Фев. 8, 2013 12:10:42)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version