Использование python для разработки веб-приложения

Ну, вы можете динамически выделить размер:

#include <stdio.h>

int main(int argc, char *argv[])
{
  int *array;
  int cnt;
  int i;

  /* In the real world, you should do a lot more error checking than this */
  printf("enter the amount\n");
  scanf("%d", &cnt);

  array = malloc(cnt * sizeof(int));

  /* do stuff with it */
  for(i=0; i < cnt; i++)
    array[i] = 10*i;

  for(i=0; i < cnt; i++)
    printf("array[%d] = %d\n", i, array[i]);

  free(array);

  return 0;
}
17
задан Aaron Maenpaa 22 May 2009 в 13:25
поделиться

9 ответов

Теперь, когда все сказали Django , я могу добавить свои два цента: я бы сказал, что вы могли бы узнать больше, посмотрев сначала на различные компоненты, прежде чем использовать Django. Для веб-разработки на Python вам часто нужны 3 компонента:

  1. Что-то, что заботится материалов HTTP (например, CherryPy )

  2. Язык шаблонов для создания ваших веб-страниц. Мако очень питонический и работает с Cherrpy.

  3. Если вы получаете данные из база данных, ORM пригодится. SQLAlchemy будет пример .

Все ссылки выше содержат хорошие руководства. Для многих реальных случаев использования Django будет лучшим решением, чем такой стек, поскольку он легко интегрирует эту функциональность (и многое другое). И если вам нужна CMS, Django - ваш лучший выбор, кроме Zope. Тем не менее, чтобы лучше понять, что происходит, лучше использовать набор слабосвязанных программ. Django скрывает множество деталей.

21
ответ дан 30 November 2019 в 12:27
поделиться

Edited 3 years later: Don't use mod_python, use mod_wsgi. Flask and Werkzeug are good frameworks too. Needing to know what's going on is useful, but it isn't a requirement. That would be stupid.

Don't lookup Django until you have a good grasp of what Django is doing on your behalf. for you. Write some basic apps using mod_python and it's request object. I just started learning Python for web-development using mod_python and it has been great.

mod_python also uses a dispatcher in site-packages/mod_python/publisher.py. Have a ganders through this to see how requests can be handled in a simple-ish way.

You may need to add a bit of config to your Apache config file to get mod_python up and running but the mod_python site explains it well.

<Directory /path/to/python/files>
     AddHandler mod_python .py
     PythonHandler mod_python.publisher
     PythonDebug On
</Directory>

And you are away!

use (as a stupidly basic example):

def foo(req):
    req.write("Hello World")

in /path/to/python/files/bar.py assuming /path/to is your site root.

And then you can do

http://www.mysite.com/python/files/bar/foo

to see "Hello World". Also, something that tripped me up is the dispatcher uses a lame method to work out the content-type, so to force HTML use:

req.content_type = 'text/html'

Good Luck

After you have a good idea of how Python interacts with mod_python and Apache, then use a framework that does all the boring stuff for you. Up to you though, just my recommendation

4
ответ дан 30 November 2019 в 12:27
поделиться

Python Wiki: веб-фреймворки для Python

Если вы решите использовать Django , , официальное руководство станет отличным местом для начала. Книга Django также бесплатна.

2
ответ дан 30 November 2019 в 12:27
поделиться

Если вы действительно не хотите углубляться в фреймворки - а вам стоит, я от всей души рекомендую Django или Pylons - вам все равно нужно идти по пути CGI. Это полностью устаревшая технология, не говоря уже о медленной и неэффективной.

Существует стандартный способ создания веб-приложений на Python, и он называется WSGI . Если вы хотите создать собственное веб-приложение с нуля, это абсолютно правильный путь.

Тем не менее, если вы только начинаете, вам действительно стоит использовать одну из фреймворков.

3
ответ дан 30 November 2019 в 12:27
поделиться

Поиск Django.

0
ответ дан 30 November 2019 в 12:27
поделиться

Существует довольно много веб-фреймворков для python, но я использовал только Django , и мне он очень нравится .

Если у вас есть несколько часов, пройдите руководство , я вам обещаю, вам понравится :)

0
ответ дан 30 November 2019 в 12:27
поделиться

Python можно использовать для веб-разработки, но на языке нет специального языкового расширения или чего-то еще, что могло бы обрабатывать всю генерацию HTML или работать как PHP.

Это красиво. много работает через какой-то интерпретатор на веб-сервере (CGI, mod_python и т. д.).

Я бы порекомендовал изучить Python Web Application Frameworks или как писать скрипты Python CGI .

0
ответ дан 30 November 2019 в 12:27
поделиться

Как уже упоминалось, одним из наиболее заметных «ответвлений» Python, как вы их называете, будет Django . Это довольно мощный фреймворк, который позволяет быстро и безопасно создавать веб-приложения. В первую очередь, стоит посмотреть их обзор , который дает некоторое представление о том, что Django делает как фреймворк.

Просматривая их учебник , я много узнал о выдающемся Model-View -Шаблон дизайна контроллера и как его можно использовать в контексте веб-разработки. Я нашел это отличным способом начать писать работающее приложение и учиться, улучшая его.

0
ответ дан 30 November 2019 в 12:27
поделиться

Есть несколько вариантов веб-разработки. Исходя из моего опыта, ваш выбор снова будет зависеть от вашего приложения. Я использовал django и web.py в производстве, и я собираюсь развернуть приложение на основе пилонов .

Django скрывает много choices (поставляется с ORM и шаблонами). Документация обширна и хорошо написана. Для django доступно множество многоразовых приложений, но вы, вероятно, потратите немного времени на их беспроблемную интеграцию. Одна вещь , упомянутая в djangocon 08 , заключалась в том, что в django есть классные вещи, которые нелегко доступ к нему осуществляется в проектах, отличных от django.

web.py впечатлил меня своей простотой. Прежде чем я узнал об этом, я написал в нем небольшое приложение ( 78 строк, квазивики ).

пилоны словно находятся посередине обоих. Я могу использовать sqlalchemy и jinja , в целом приятный опыт для начала.

1
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: