2016-09-15 5 views
0

Прежде всего, я новичок в django, это мой первый проект, поэтому у меня есть минимальное знание.Как администратор может размещать контент, видимый другими пользователями в django 1.8?

Я работаю с django 1.8, и я создал базовый веб-сайт. Моя проблема заключается в следующем: Вы знаете, как при посещении веб-сайта и содержание обновляется администратором? (новости, расписание или напоминание о крайнем сроке, если вы студент uni) Есть ли способ сделать это, чтобы администратор использовал только интерфейс, не касаясь кода? Я имею в виду, полагая, что администратор ничего не знает о django и имеет сайт, на котором он хочет загружать «новости» или «объявления», которые будут видны всем пользователям, или он может редактировать/удалять старые сообщения ...

Я бы оценил его, если вы можете направить меня, предоставив мне полезные ссылки на doumentations, учебники или существующие проекты на github, чтобы увидеть, как он работает. Благодарим вас за помощь.

+0

Вы пытались выполнить настройку основного сайта администратора? https://docs.djangoproject.com/en/1.10/intro/tutorial02/#introducing-the-django-admin или https://docs.djangoproject.com/en/1.10/ref/contrib/admin/, если вы это сделали обычно администратор может входить в админ-интерфейс, например http://127.0.0.1:8000/admin, и редактировать вещи без кодирования – machaku

+0

Я уже пробовал это, и насколько мне известно, интерфейс администратора позволяет администратору видеть тех, кто подписался например ... это не то, что я хочу. допустим, 127.0.0.1:8000 позволяет мне получить доступ к домашней странице, я хочу, чтобы администратор мог публиковать материалы на домашней странице для просмотра другими пользователями (на главной странице 127.0.0.1:8000). –

+0

Вы имеете в виду систему управления контентом? Я знаю, что есть, по крайней мере, два, которые используют django: ** wagtail ** и ** django-cms **, но у меня нет опыта использования их, не говоря уже о их настройке. – nigel222

ответ

0

Вы можете использовать Django Admin для создания/редактирования моделей через веб-интерфейс с нулевым программированием.

Конечно, для этого вам нужно будет сохранить редактируемый контент в моделях, а не жестко кодировать их в своих шаблонах.

Давайте предположим, что наш сайт является небольшой блог и наши посты являются экземплярами следующей модели:

class Post(models.Model): 
    title = models.CharField(max_length=50) 
    content = models.TextField() 

И вы показываете им, как это на домашней странице:

<ul> 
{% for post in posts %} 
    <li> 
     <p>{{ post.content }}</p> 
    </li> 
{% endfor %} 
</ul> 

В <app>/admin.py вы необходимо, чтобы зарегистрировал модель в админ, поэтому интерфейс администратора знает о модели и отображает ее:

from .models import Post # import your model 

admin.site.register(Post) 

Теперь вы должны иметь возможность легко создавать и изменять экземпляры Post из интерфейса администратора, и они должны автоматически отображаться на главной странице.

Предлагаю взглянуть на official Django tutorial или Django Girls blog tutorial, которые подробно показывают, как использовать администратора, чтобы обновить информацию, отображаемую на веб-страницах, обращенных к клиенту.