Я бы разделил фиды как можно больше и позволил бы пользователям рекомбинировать их по своему желанию. Если бы я делал это, я бы, вероятно, подумал об использовании Django и инфраструктуры синдикации.
Модели Django могут, вероятно, обрабатывать представление структуры данных таблиц, которые вам интересны.
У вас может быть URL-адрес, который перехватывает все, например: r'/rss/(?(\w*?)/)+'
(думаю, это может сработать, но я не могу проверить его сейчас, поэтому он может быть не идеальным).
Таким образом, вы можете использовать URL-адреса, такие как (отредактировано для отмены автоматической ссылки на примеры URL-адресов):
- http: // feedserver / rss / batch-file-output /
- http: // feedserver / rss / support-tickets /
- http: // feedserver / rss / batch-file-output / support-tickets / (оба из первых двух объединены в один)
Тогда в представлении:
def get_batch_file_messages():
# Grab all the recent batch files messages here.
# Maybe cache the result and only regenerate every so often.
# Other feed functions here.
feed_mapping = { 'batch-file-output': get_batch_file_messages, }
def rss(request, *args):
items_to_display = []
for feed in args:
items_to_display += feed_mapping[feed]()
# Processing/returning the feed.
Наличие отдельных цепочечных каналов означает, что пользователи могут подписываться на один канал за раз или объединять те, которые им нужны, в один больший канал. То, что им легче читать, они могут сделать.