После прочтения вашего кода кажется, что ошибка исходит от вашего объекта записи
я предлагаю вам написать код наподобие: (установить ваш писатель вне цикла)
writer = pd.ExcelWriter('MiniBids_multiple_Results_Sample2.xlsx', engine='xlsxwriter')
for cust in Unique_cust_list:
:
:
## insert the figure as image
worksheet.insert_image('E1', 'figSaved')
writer.save()
Следующие правила переписывают URL-адрес в форме foo.com/bar на условное обозначение foo.com/userpage?user=bar, если бар уже не является файлом или каталогом на сервере. Поместите следующее в .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ userpage?user=$1 [NC,L]
</IfModule>
Как и в ответе Алекса, скрипт пользовательской страницы должен перенаправить на createnew, если пользователь не существует:
$user = $_GET['user'];
if (!user_exists($user)) {
header('Location: createnew?user=' . urlencode($user));
}
(Как говорит Кнут, остерегайтесь ошибок в приведенном выше коде - у меня есть только доказал, что это правильно, а не пытался. Я обновлю этот ответ, когда я фактически подтвердил, что он работает.) PS: ПОДТВЕРЖДЕН!
Я бы сказал, что это зависит от того, как ваш сайт ориентирован на пользователя.
Такие сайты, как myspace, являются http://www.myspace.com/jim/ , потому что Сайт полностью вращается вокруг пользователя.
Тем не менее, блог или новостной сайт, где вы можете зарегистрироваться, но это не важно или не обязательно, могут быть полезны
http://www.news.com.au/users/ jim /
Как вы думаете, если вы создаете веб-сайт с пользователями, вы могли бы извлечь выгоду из шаблона проектирования MVC или хотя бы из популярной инфраструктуры MVC, которая использует маршрутизатор для направления URI?
Если этот URI прошел через Маршрутизатор, а затем был отправлен на UsersController, вы можете решить либо показать профиль пользователя, либо направить их на создание этого пользователя. Вам не нужно возиться с mod_rewrite, кроме как создать одно правило, которое направляет все запросы к несуществующим файлам для индексации. php (или любой другой язык по умолчанию на стороне сервера)
Если вы действительно хотите использовать mod_rewrite, попробуйте эти правила
RewriteEngine On
RewriteCond %{REQUEST_URI} !(home|contact|about) [NC] // this line may be incorrect
RewriteRule ^/users/([^/]+)/?$ userpage?user=$1 [NC,L]
Обратите внимание на начальный Carat, предложенный Gumbo, поэтому он соответствует только / users / из TLD только.
Это будет соответствовать чему-либо как foo.com/users/bob с дополнительной косой чертой. Он нечувствителен к регистру и будет последним применяемым правилом.
Если запрос приходит, а $ _GET ['user'] не существует в вашей БД, вы можете попробовать что-то вроде этого
$user = $_GET['user'];
if (!user_exists($user)) {
header('Location: createnew?user=' . urlencode($user));
exit();
}
Затем на странице createnew просто сделайте что-то вроде этого
<input type="text" name="username" value="<?php echo htmlspecialchars(urldecode($_GET['user'])); ?>" />
, которое автоматически заполнит имя пользователя именем пользователя, с которым они пытались получить доступ к профилю.
Если вы хотите узнать больше о PHP и MVC, попробуйте поиск в Google или спросите вопрос здесь о переполнении стека.
попробуйте эти правилаRewriteEngine On
RewriteCond %{REQUEST_URI} !(home|contact|about) [NC] // this line may be incorrect
RewriteRule ^/users/([^/]+)/?$ userpage?user=$1 [NC,L]
Обратите внимание на начальный Carat, предложенный Gumbo, так что он соответствует только / users / TLD.
Это будет соответствовать чему-либо вроде foo.com/users/bob с дополнительной косой чертой. Он нечувствителен к регистру и будет последним применяемым правилом.
Если запрос приходит, а $ _GET ['user'] не существует в вашей БД, вы можете попробовать что-то вроде этого
$user = $_GET['user'];
if (!user_exists($user)) {
header('Location: createnew?user=' . urlencode($user));
exit();
}
Затем на странице createnew просто сделайте что-то вроде этого
<input type="text" name="username" value="<?php echo htmlspecialchars(urldecode($_GET['user'])); ?>" />
, которое автоматически заполнит имя пользователя именем пользователя, с которым они пытались получить доступ к профилю.
Если вы хотите узнать больше о PHP и MVC, попробуйте поиск в Google или спросите вопрос здесь о переполнении стека.
попробуйте эти правилаRewriteEngine On
RewriteCond %{REQUEST_URI} !(home|contact|about) [NC] // this line may be incorrect
RewriteRule ^/users/([^/]+)/?$ userpage?user=$1 [NC,L]
Обратите внимание на начальный Carat, предложенный Gumbo, так что он соответствует только / users / TLD.
Это будет соответствовать чему-либо вроде foo.com/users/bob с дополнительной косой чертой. Он нечувствителен к регистру и будет последним применяемым правилом.
Если запрос приходит, а $ _GET ['user'] не существует в вашей БД, вы можете попробовать что-то вроде этого
$user = $_GET['user'];
if (!user_exists($user)) {
header('Location: createnew?user=' . urlencode($user));
exit();
}
Затем на странице createnew просто сделайте что-то вроде этого
<input type="text" name="username" value="<?php echo htmlspecialchars(urldecode($_GET['user'])); ?>" />
, которое автоматически заполнит имя пользователя именем пользователя, с которым они пытались получить доступ к профилю.
Если вы хотите узнать больше о PHP и MVC, попробуйте поиск в Google или спросите вопрос здесь о переполнении стека.